Make timer use factory method