Вот несколько ключевых моментов из более ранних тем
Согласен, я думаю, что именно так @Falco предлагал реализовать работу v1.