use classes instead of callbacks (TodoFocus still does not get $timeout
injected)