Apply modifier when not in operator execute

I have created a panel where I add Modifers on selected objects.

Now the problem is that when in the execute() operator function is run, the Modifier is applied and then the function is lost forever, the user can’t change the properties of the operator.

What I would like to do is to apply the modifier when a different action occurs (e.g. selecting other object).

You might have seen this when adding a cube in the scene, you can change his settings from the bottom ToolShelf but when you change the action the operation is completed.