Added precondition checks
Added more test cases
Added some notificationBus tests