add EventExecutor to replace Callback\Base
fix state name. fix tests