I keep a stack. Whenever I am interrupted, I push a task onto the stack. When I finish a task, I pop it from the stack. Each task has an associated journal file. Sometimes I reorder the stack.
todo: Open my list in an editor
todo [thing]: Add a thing to the bottom of my list.
next: Show me only my next most important task.
mark: Mark my current task done.
There are a few more, but you get the idea.