moving all logic of notifications to notification class