Adding interactive preview functionality to script

I'm fairly new to scripting and this might have been covered somewhere else on this forum but I haven't been able to locate it yet. What I'm looking to do is like what the EditPoly Connect operation has and that is an interactive preview so when you adjust spinners you can visually see what is going to happen.

The script that I've (co-)written uses polyOp commands to get faces, vertices and then performs a polyOp.slice command to split the faces based on where the code determines to cut them. Now I'd like the user to be able to visualise where the cutting takes place before they apply the change.

The way I thought this could be done is either by using the previewBegin/previewAccept/previewCancel methods of the EditablePoly object. However when I've tried to implement it using this means of previewing it didn't work and I assumed it cannot be done using the polyOp object methods.

The other option was placing an undo block around the code and calling an undo everytime the spinner is changed, only allowing the changes to remain when the user presses the apply button.

So I guess what I'm asking is, what do you seasoned veterans do to allow for interactive reviewing? Should I be able to use the previewXX methods to revert any changes made using polyOp methods on an EditablePoly?

Any help in this matter would be greatly appreciated. Just so you know I have searched through the maxscript help and also google searched for the answer but no luck in finding anything relevant.