C++11 entity component system