Note: The code in this question is part of deSleeper if you want the full source.
One of the things I wanted out of commands was a baked de
As I answered in your other question, you probably still want to bind to this synchronously and then launch the commands asynchronously. That way you avoid the problems you're having now.