introduced a Dispatcher

attempt at implementing a `Dispatcher` inspired by the [flux pattern](https://facebook.github.io/react/docs/flux-overview.html)