Observer pattern first revision with our own subject and observer (not
java built in observer)