- add SpeakingCamparable interface and an abstract adapter
implementation