>クロージャ
じゃあこんなのは?
# 文字列を処理するテンプレートエンジン
# ブロックでは、与えられるブロックがどのような処理を行うかあらかじめ想定している
class A
 class B
  #プレーンテキスト用   
  def treat_text( &proc{| text | text } )
   data < ( proc(original) )
  end
  def treat_attribute( &proc{| text | text } )
  (省略)

#差分ベースだと(メソッドを丸々変更するので)、変更点を想定する必要無し
class A
 class B
  #プレーンテキスト用   
  def treat_text (省略) end
  def treat_attribute (省略) end

class XHTMLA < A
 class B < A::B
  #サニタイズする
  def treat_text (省略) end
  def treat_attribute (省略) end

まあ、どっちにしても良い設計しなきゃいけないことには変わりないけどね。