introduce Event Dispatcher to let user add his own BeanProperty injector