Why is this needed? Perhaps it should have a return value to indicate whether a tick will happen or not?