Observer pattern, first ideas