Rackとミドルウェア

ここしばらく、Rackのソースと格闘している。
インスタンス化されたRack::Session::Poolはどのようにして参照するのかと思い、
server.rbとかbuilder.rbらへんをつらつらと読んでいたが、
おそらくアプリケーション側からは参照できないんじゃないかという気になってきた。

config.ruで定義されたミドルウェアは、Rack::Builder#to_appでインスタンス生成されるが、
runしているクラスがアプリケーションとなり、順次ミドルウェアのコンストラクタに渡っているっぽいから、
直接ミドルウェアインスタンスをを参照する手段ってないような…
それにしても、処理の流れが難しいなぁ。