Add tick callback
Add daemon? method.
Rename on_tick to tick.