commands: Moved argument checking into a Command method, fail early when parsing commands