Use trait inheritance instead of composition for OngoingExchange