Refactor start_walking to unwind the call stack a bit.
Do not immediately call the periodic cleanup function to avoid recursion.