Hi in announcer we have when: anAnnouncementClass send: aSelector to: anObject "Declare that when anAnnouncementClass is raised, anObject should receive the message aSelector. When the message expects one argument (eg #fooAnnouncement:) the announcement is passed as argument. When the message expects two arguments (eg #fooAnnouncement:announcer:) both the announcement and the announcer are passed as argument" ^ self subscribe: anAnnouncementClass send: aSelector to: anObject could we reduce the cognitive load and make sure that the API is only one protocol for example when: send: to:? I found it confusing and I have to check that this is indeed the same. I think that having one way is far enough. What do you think? Stef