Moved timer handling to core as with-timer mixin class