This whole mechanism would be a lot more efficient if you had a _runNextCommand method. Just assign to this._nextCmd when needed and call this method when needed. This will remove a lot of the ```this._nextCmd &&``` checks.