じゃあ

★俺ならこうする
・CEnemyはファクトリを通して生成するようにする。
・Enemyのファクトリにはオブザーバを登録できるようにする。
・Enemyのファクトリは新しいEnemyインスタンスが生成された時に
 オブザーバのOnEnemyCreateイベントハンドラを呼び出す。

★とむ氏の実装より何が良いか
1.「数を数える」以外の用途が必要になった時も、既製のソースに変更を加えることなく機能追加できる。
2.例えば関係しない2つの世界が必要になった時、とむ氏の方法の場合は作り直しだが
 私の方式の場合はファクトリを2つにするだけで作業は終わる。

1.が理解できない人は委譲指向のOOが理解できていないと思われる。
2.が理解できない人はSINGLETONとMONOSTATEの違いもきっと理解できない。

実際、2.のシチュエイションは仕事でハマっている人を見た事がある。
そのソースは元々グローバル変数に依存していたが、
仕変で画面分割モードができて対応におおわらわしてたよ。
その仕事のバグレポートはたしか項目4000個超えてた。大変な仕事だった。