An abstract class for performing simulation actions when events which modify the simulator state (such as step forward, step back and so on) take place
It's supposed to be subclassed by those listeners which modify the simulator state when their actions take place.