CompactDisc kata Observer + unit testing