Dispatcher re-factor out from subscriber
Subscription implementation via implementation class
Some renames and more tests