Fix subscriptions

- Moved subscription code to separate SubscriptionManager
- Renamed DataProcessor to DataConsumer to avoid confusion with DataProducer
- Cleaned up unregister/unsubscribe code (fixed issue #65)