using Runner.method_defined? instead of rescuing from NoMethodError to detect invalid commands. improves performance
incremented patch version to 3.3.2