# File lib/chef/mixin/command.rb, line 58
      def run_command(args={})         
        command_output = ""
        
        args[:ignore_failure] ||= false
        args[:output_on_failure] ||= false

        # TODO: This is the wrong place for this responsibility.
        if args.has_key?(:creates)
          if File.exists?(args[:creates])
            Chef::Log.debug("Skipping #{args[:command]} - creates #{args[:creates]} exists.")
            return false
          end
        end
        
        status, stdout, stderr = output_of_command(args[:command], args)
        command_output << "STDOUT: #{stdout}"
        command_output << "STDERR: #{stderr}"
        handle_command_failures(status, command_output, args)
        
        status
      end