Ой, а я только сейчас заметил, что у меня получился вариант ну почти один в один как:
	
	
		
			Сообщение от x-yuri
			 
		
	 | 
	| 
		альтернативный вариант
	 | 
	
Нужно попить колы для улучшения внимания.
А лично моё мнение что 
FINoM усложняет реализацию. Я взялся за написание решение после того как попытался разложить твой 
FINoM скрипт и чуть голову не сломал. 
Реализация мне нужна сейчас, я делаю сложную анимацию и такой объект очень пригодится.
Проброс переменных через аргументы функции для передачи состояния - в моём понимании это плохо тем, что переменные как бы летят через цепь, да ещё и меняют тип, говнокодом попахивает - фиг поймешь что в данную секунду записано и где это искать.
Одна цепь - один объект, все переменные в одном месте - искать не нужно, даже отладка проще.