Per #310, a refactor to notifications to allow easier extensibility