Add DispatcherAwareInterface
Use GenericEvent
Merge pull request #3 from andytruong/pr/useGenericEvent

Use generic event