made all subclasses of texturedata immutable, so therefore thread-safe.