New design for AsyncCommand
New design for AsyncCommand (cleanup)
New design for AsyncCommand (cleanup)