Есть ли смысл делать свой движок?
Делайте, чо. Чем бы дитя не тешилось, как говорится.
Лучше так, чтобы всё было модульно и при необходимости использования одинакового функционала, исходный код логики использовался всегда только однократно.
Нужно разработать общий вид архитектуры в виде схемы вложенных блоков и связей между ними. А уже только после этого - кодировать этот "сборщик".