>まず、engine の型を外部から知る必要がある設計が駄目。
んなこたないよ。そんなの普通にあるだろ。