Massive refector of timer_factory, the api of of the class is much cleaner now