1. Нужно писать свой компонент с роутингом.
2. В зависимости от тяжести логики, всю тяжелую лучше выносить в классы в модули и подключать через namespace.
Перед написанием, пройдитесь по документации как писать компоненты/модули + обязательно обратите внимание на новое ядро D7, если знаете ООП вам будет гораздо легче и приятнее писать как компонент, так и классы модуля.
По новому ядру документации не так много, но есть неплохие короткие бесплатные видокурсы (нужна регистрация)
academy.1c-bitrix.ru/education/index.php?COURSE_ID...