 
   match: (argument) -> @getMatcher().match(argument, @getValue())
 
-@Overloadable = Overloadable+
+if define?.amd?
+  define(-> Overloadable)
+else if module?.exports?
+  module.exports = Overloadable
+else
+  @Overloadable = Overloadable

      return false unless compiledMatcher.match(argument)

    true


class MatcherFactory
  constructor: () ->


  matcherFactory.registerMatcher("object", PropertyMatcher)

class CompiledMatcher
  constructor: (@_matcher, @_value) ->

