Added unsubscribe
SubscriptionManager now stores logins instead of (Channel) IDs, since
Channel ID becomes invalid when the client disconnects
Fixed ClassCastException