added block based handlers, cleaner than NSNotifications
updated block based handlers
added some nil checks for when you add a nil block, so it doesn't crash