Move SubscriptionManager into an Abstraction
Use CompositionSubscription instead of ArrayList