An entity component system written in c++