Untested barebones for Observer design pattern