This document discusses component-based entity systems for game development. It describes the disadvantages of inheritance-based models, including deep class hierarchies that are difficult to develop, maintain and extend. It then introduces an aggregation-based approach using entities composed of independent components. This approach favors composition over inheritance and improves extensibility. Finally, it describes entity system architectures where components contain data and systems contain logic, improving performance, serialization and other capabilities. Overall it advocates for entity systems as an easier way to build, maintain and extend game object models.