Observer pattern applied to timer