remove storage_by_proto (store in prototype instead)