How can we make the code more testable without having to wait in "real time" for time-based events to happen?