A C++ Entity Component System