observer pattern for python for a TDD exercise