Первый вопрос не понял вообще.
По второму тоже не понятно, какой фронт нужно ловить?
По третьему. Как придумал, так и сделал. Если у Вас есть идеи по оптимизации, покажите свою схему.