# File lib/facets/more/buildingblock.rb, line 88
  def initialize(helper_module, constructor_method, output_buffer=nil)
    @module = helper_module
    @constructor = constructor_method
    @instance_eval = method(:instance_eval)

    @method = {}

    meths = []
    #meths.concat singleton_methods
    meths.concat public_methods
    meths.concat protected_methods
    meths.concat private_methods
    meths.each do |m|
      @method[m.to_sym] = method(m)
    end

    class << self
      escape = ESCAPE
      meths = []
      #meths.concat singleton_methods
      meths.concat public_instance_methods
      meths.concat protected_instance_methods
      meths.concat private_instance_methods
      meths.each do |m|
        undef_method(m) unless m =~ /^__/ or escape.include?(m)
      end
    end

    @stack = []
    @out = output_buffer || ''
  end