>4.番兵要素インスタンスが Singleton::Instance() を呼び出す
クラスのデザインとして、ここが一番問題アリっぽいね。

『Null Objectパターン』つって、「オブジェクトが存在して、
普通に振る舞っているように見せかけつつ、実は何もしてない」
というクラス設計手法があるんよ。
http://www.hyuki.com/dp/dpinfo.html#NullObject

Null Objectを、番兵要素インスタンスとして生成すれば
いいんじゃないかな?