Что-то я не могу до конца уловить принцип, по которому в BlackBox происходит отделение Диспетчера (Controller) от Представления (View).
В тексте автора концепции MVC Трюгве Реенскауга говорится:
> -- Цитата:
> ...a view should never know about user input, such as mouse operations and keystrokes. It should always be possible to write a method in a controller that sends messages to views which exactly reproduce any sequence of user commands.

Другими словами, контроллер отвечает за "приём" действий пользователя и уведомляет о них представления. Эта же мысль высказана в тексте документации к BlackBox "Составные документы":
> -- Цитата:
> Контроллер можно рассматривать как отделившуюся часть отображения. Он выполняет все взаимодействие с пользователем, включая обработку ввода с клавиатуры и манипуляций мышью, и он также управляет выделениями

То есть, отделение контроллера делается для проведения явной грани между отображением и реакцией на действия пользователя. Но если взглянуть на Views.View, то можно убедиться в том, что данное представление способно самостоятельно отзываться на действия пользователя. Например,"HandleCtrlMsg должна быть реализована в редактируемых отображениях. Процедура вызывается окружающим контейнером, если он считает получающее отображение текущим фокусом."

Получается, грань размывается, и отсюда возникает вопрос - каким образом принять решение о выделении диспетчера в отдельную сущность? Применить методологический принцип, так сказать...