holoirc: prefer composition to inheritance