     # Outputs is a description of data returned by the method.
     outputs: (outputs) ->
         return @$outputs if arguments.length is 0
-        isOutputs = _.isString outputs
         noOutputs = "The outputs is not a string"
-        throw new Error noOutputs unless isOutputs
+        assert _.isString(outputs), noOutputs
         @emit "outputs", arguments...
         @$outputs = outputs.toString()
 

    # Notes are warning/beware messages about the implementation.
    notes: (notes) ->
        return @$notes if arguments.length is 0
        isNotes = _.isString notes
        noNotes = "The notes is not a string"
        throw new Error noNotes unless isNotes
        @emit "notes", arguments...
        @$notes = notes.toString()


    # Inputs is a description of the body that method expects.
    inputs: (inputs) ->
        return @$inputs if arguments.length is 0
        noInputs = "The inputs is not a string"
        assert _.isString inputs, noInputs
        @emit "inputs", arguments...
        @$inputs = inputs.toString()

