#35 definePropertiesを使うようにしました
(definePropertyを複数回使用する場合とパフォーマスンスは特に変わりませんでした)