erlang:send_after must be protected with forcing cancel_timer to avoid loops