An entity component system - work in progress