似たような処理をするクラス群で微妙に違うものを定義したい。クラスとしても使えるし、コード補完で定義済みも用意されてる処理を実現したい。クラス中のクラス宣言はできなかったのだが同名namespaceを利用してclassを拡張する事ができるのを知った。普通に行うとコンストラクタを利用して定義済みインスタンスを用意すればいいのだが匿名クラスを直接実体化することで必要によりメソッドのオーバーライドも可能な実装が実現できた。プロパティーが多い時にも対応できる。TypeScriptでは定義さえも処理されることで実現されるため定義と処理を混在させる事ができるため座標を少しづつずらした定義なのも簡単に実現できる。