The Entity-Component pattern