Prefer aggregation to inheritance