add some methods to Subscription model; refine notification handling; refine views