Avoid modification of mFragmants.
Do refactor.

- Use EventDispatcher to deal with event dispatching.
- Add ActivityEventHandler, FragmentEventHandler, WindowEventHandler to deal with event.
Clean up method.