Bot-Blueprint
Блупринты нужны для разделения кода. Посмотреть как они применяются можно в этом примере
Блупринты имеют схожий с фреймворком на который они работают интерфейс, но есть дополнительный метод load
который в качестве единственного аргумента принимает инстанс фреймворка в который надо загрузить блупринт