Если все возможности сложно реализовать в одном скрипте допускается разделение на несколько.
МИНИМАЛЬНЫЕ ТРЕБОВАНИЯ К СКРИПТУ:
Возможность запускать только одну тему в одном предмете или один предмет целиком.
Каждая тема в своей папке
Задание сохраняется в виде картинки (jpg/png) и...