[RubyDesignPattern] backup DSL
[RubyDesignPattern] better DSL
[RubyDesignPattern] meta programming