Changes the way objects are created, improves caching
Autogenerated functions