newできるクラスライブラリをもつか否かというのは、環境の優劣を決する基準のひとつだと思います。
再利用可能性と拡張性がまるで違いますので。
で、newできるように、newという関数をつくりましょう。
クラスは関数と同じようにコード定義を特定のフォルダ以下に配置した場合に機能するということで。
コードレジストリという考えをもつことにしました。
コードレジストリは名前と値で構成され、値にはスクリプトコードが格納されます。
名前はフル修飾のクラス名とメソッド名です。
こうすることで、入力を受けてnewすべき特定のクラスをnew関数内でコードレジストリから読み取って
インスタンスとして生成しユーザーに提供できます。
環境初期化スクリプト部分ではコードレジストリの管理者である$CodeManagerを初期化しておきます。
内容は実際の環境のスクリプトを参照してください。