코딩 측면에서 이 클래스를 구현한 개발자는 고수준 코드를 먼저 작성하라는 제안을 따랐다(다른 말로 상향식 접근보다는 하향식 접근을 따랐다). 그래서 다음과 같은 단계를 거쳤다.
1. 먼저 세부 사항은 신경 쓰지 않고 MessageSender 클래스를 작성했다.
2. 작업 도중 전송할 메시지들의 목록이 필요했다. 이미 MessageRepository가 있었기 때문에 이 인터페이스에 새 메서드를 추가했다.
3. 사용자 이메일로부터 사용자 ID를 얻어야 했다. 이 정보가 처음으로 필요했던 상황이기 때문에 UserDirectory 인터페이스를 만들고 MessageSender 작성을 이어갔다.
4. 이제 메시지를 봇으로 전송할 차례였다. 봇이 처음으로 필요한 시점이었기도 하기 때문에 Bot 인터페이스를 작성했다.