timer implemented without GUI notifications

untested
Observer implemented