module Temple::Mixins::Template

def build_engine(*options)

def build_engine(*options)
  raise 'No engine configured' unless engine
  options << default_options
  engine.new(Utils::ImmutableHash.new(*options)) do |e|
    chain.each {|block| e.instance_eval(&block) }
  end
end

def chain(&block)

def chain(&block)
  chain = (default_options[:chain] ||= [])
  chain << block if block
  chain
end

def engine(engine = nil)

def engine(engine = nil)
  default_options[:engine] = engine if engine
  default_options[:engine]
end