Fix Subscription.channels/1
Refactor Subscription and its tests