clean up Subscription; fixed typo in SubscriptionState, made SubscriptionState a Flag enum to support multiple states