Major rewrite on how notifications are handled