Implementing the rest of the Notifications API

Implementing the rest of the notifications API as stated in #326. 
Whoa, that's pretty cool. I didn't even think you could enforce something like that. Very cool!