 # This approach gives unique ability to build self documented APIs.
 module.exports.Document = class Document extends Archetype
 
-    # Either get or set the remark to the method that is being
-    # described by this document. If you do not supply example
-    # this method will return you one, assuming it was set before.
-    # Notes are warning/beware messages about the implementation.
-    remark: (remark) ->
-        return @$remark if arguments.length is 0
-        noRemark = "the remark is not a string"
-        assert _.isString(remark), noRemark
-        @emit.call this, "remark", arguments...
-        return @$remark = remark.toString()
-
-    # Either get or set the inputs of the method that is being
-    # described by this document. If you do not supply inputs
-    # this method will return you one, assuming it was set before.
-    # 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.call this, "inputs", arguments...
-        return @$inputs = inputs.toString()
-
-    # Either get or set the outputs of the method that is being
-    # described by this document. If you do not supply outputs
-    # this method will return you one, assuming it was set before.
-    # Outputs is a description of data returned by the method.
-    outputs: (outputs) ->
-        return @$outputs if arguments.length is 0
-        noOutputs = "the outputs is not a string"
-        assert _.isString(outputs), noOutputs
-        @emit.call this, "outputs", arguments...
-        @$outputs = outputs.toString()
-
-    # Either get or set the description of the method that is being
-    # described by this document. If you do not supply description
-    # this method will return you one, assuming it was set before.
-    # Synopsis is a brief story of what this service method does.
-    synopsis: (synopsis) ->
-        return @$synopsis if arguments.length is 0
-        noSynopsis = "the synopsis is not a string"
-        assert _.isString(synopsis), noSynopsis
-        @emit.call this, "synopsis", arguments...
-        return @$synopsis = synopsis.toString()
-
     # Either get or set the argument information of the method that
     # is being described by this document. If you do no supply any
     # arguments this method will return already described arguments.
     # Argument consists of name, approximate type and description.
     argument: (identify, typeable, description) ->
         return @$argument if arguments.length is 0
-        noIdentify = "the identify is not a string"
-        noTypeable = "the typeable is not a string"
+        noIdentify = "the identify param is not a string"
+        noTypeable = "the typeable param is not a string"
         noDescription = "the description is not a string"
         assert _.isString(description), noDescription
         assert _.isString(identify), noIdentify

        assert _.all(consumes, _.isString), notString
        @$consumes = (@$consumes or []).concat consumes
        @emit.call @, "consumes", @$consumes, arguments

    # Either get or set the markings information of the method that
    # is being described by this document. If you do no supply any

        noMarkings = "the markings should be a object"
        assert _.isObject(markings), noMarkings
        _.extend (@$markings ?= {}), markings
        @emit.call @, "markings", arguments...
        assert @$markings; return @$markings

    # Either get or set the schemas information of the method that
    # is being described by this document. If you do no supply any
