Сейчас написано строк 200 кода, а в нем уже начинаешь путаться, так как функции в перемешку идут, а не по порядку исполнения, а по порядку их выставить не реально, так как некоторые функции не зависимы друг от друга.
А и не надо по порядку.
Сгруппировать по смыслу, по функционалу. И дать внятные название, скажем, все обработчики начинать с On.
Я считаю, что аргументы и все переменные, должны быть с каким-то префиксом вначале, чтобы было проще понимать, откуда приходят данные.
Достаточно везде одинаковые по смыслу аргументы именовать одинаково. Но только на одном уровне абстракции. Пытаться использовать сквозное наименование - категорически не нужно.
Ну и локальные переменные можно выделять, например, префиксом l.
Прослеживать всю цепочку откуда приходят данные категорически не нужно.
Видеть в каком порядке исполняются функции категорические не нужно.
Это типичная ошибка новичка - все пытаться удержать в голове.
Для программиста нормой является "разделяй и властвуй" - абстрагирование на каждом уровне от предыдущего уровня.
Важнейший (ну или один из самых важнейших) навыков программиста - декомпозиция.
А вообще почитайте серию статью Дядюшки Бо "Чистая архитектура" и ее переложение под ваш язык программирования (есть несколько адаптаций статей под разные языки программирования).