потащено у  Observer

читать дальше