Oh, I remember the reason, it was to make sure the transport object wasn't converted from a V8 "hidden class" into a hash table. If you add properties dynamically to a ``new``-constructed object, V8 drops the static optimization for the object.