Если одно и то же действие может быть инициировано из разных источников (по внешнему сигналу, по кнопке и т.п.), то пути, которые приводят к выполнению действия, должны быть максимально слиты. То есть, участки кода, которые различаются, должны быть короткими. Иначе возможна ситуация, когда система будет вести себя по-разному при ручном и при внешнем управлении. А это очень плохо.
