state "pre-" events and fix multiple callbacks.