External timer. Only needed for testing.
Calls function after a given timeout.
timeout token.
current time in milliseconds.
function to call.
timeout in milliseconds.
unique number that can be used to clear the timeout.
External timer. Only needed for testing.