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