My attempt at implementing and designing an entity system