Refactor Oberserver System to use a Notification enum