module Temple::Mixins::EngineDSL

def replace(name, *args, &block)

def replace(name, *args, &block)
  name = chain_name(name)
  e = chain_element(args, block)
  chain.map! {|f| name === f.first ? e : f }
  raise "#{name} not found" unless chain.include?(e)
  chain_modified!
end