# File lib/facets/more/buildingblock.rb, line 120
  def method_missing(s, *a, &b)
    s = s.to_s

    if b
      @stack << @out
      @out = ''
      @instance_eval.call(&b)
      out = @out
      @out = @stack.pop
      a.unshift(out)
    end

    if s =~ /^call_/
      m = s[5..-1].to_sym
      @module.send(m, *a, &b).to_s
    elsif @module.respond_to?(s) #o =~ /^build_/
      @out << @module.send(s, *a, &b).to_s
    else
      s = s.chomp('?') if s[-1,1] == '?'
      @out << @module.send(@constructor, s, *a).to_s
    end
  end