More OO design for ECS