Refactoring to get rid of ISubscriber and Subscriber