         noPath = "the path name must be a valid string"
         assert _.isString(username), noUsername
         assert _.isString(repository), noRepository
-        assert _.isString(path), noPath
-        @emit "github", arguments...
-        (@$github ?= []).push
+        assert path and _.isString(path), noPath
+        @emit.call this, "github", arguments...
+        return (@$github ?= []).push
             repository: repository
             username: username
             path: path

        notString = "elements must be MIME type strings"
        assert _.all(produces, _.isString), notString
        @$produces = (@$produces or []).concat produces
        @emit "produces", @$produces, arguments

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

        return @$relevant if arguments.length is 0
        noRelevant = "the relevant should be a string"
        assert _.isString(relevant), noRelevant
        @emit.call this, "relevant", arguments...
        return (@$relevant ?= []).push relevant

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