As !ScriptableObject, but retains support for inheritance. Should only be used by entity code and/or if this capability is actually needed (since there is a high runtime memory cost). For details, see [wiki:JS_Object_Interface JS Object Interface].