pulled hooks out as dependency
added more unit tests
reorg to accomodate a SubscriptionsService
pulled out subscription code into a separate service