component entity system implementations