в примере с полётом мухи, не одна цель, а цепочка:
цель – промежуточная_цель – промежуточная_цель – промежуточная_цель — муха
За счёт этого при смене цели муха «поворачивает» плавно.
... нет здесь абсолютных терминов ...
... Сайт = приложение ...
Веб приложение — клиент-серверное приложение
Можете сделать ее без своего контекста, тогда она будет брать контекст от функции name. Например так