Refactoring notifications and it's model