put lock on executor.postEvent to make it threadsafe