咳といいます。

> でもMixinで勝手にself.taintしてしまうのはセキュリティ的にまずくな
> いでしょうか?

どうなんでしょう…。taintされてしまうよ、と分かっていたらそれなりに
気をつけると思います。
たとえばセキュリティ的にまずいときにはMonitorMixinでなくMonitor classを
利用することもできますね。



> Counterみたいなクラスを使ならいといけないのかなあ…。

@mon_ownerと@mon_countが必要なのかしら。
#いっそMonitorクラスを内側(?)にしてしまうとか

RWiki2ではとりあえず、taintするだけのモジュールを作って、
MonitorMixinの初期化の後に呼ぶようにしました。

module RWiki
   module TaintMonitor
     def taint_monitor
       self.taint
       @mon_entering_queue.taint
       @mon_waiting_queue.taint
     end
   end
...
   class Book
...
     include MonitorMixin
     include TaintMonitor

     def initialize(config=BookConfig.default)
       super()
       taint_monitor()