A C++ component-entity system