# File lib/adhearsion/core_extensions/publishable.rb, line 6
    def add(interface, name, meth)
      @interfaces ||= {}
      @interfaces[interface] ||= returning(Object.new) { |obj| obj.metaclass.send(:attr_accessor, :__methods) }
      obj = @interfaces[interface]
      obj.__methods ||= {}
      obj.__methods[name] = meth
      obj.instance_eval "def \#{name}(*args, &block)\nbegin\n__methods[\"\#{name}\"].call(*args, &block)\nrescue => exception\nraise RuntimeError, exception.message\nend\nend\n"
    end