RFModule framework that helps to build independent modules. It is simple protocol with input, output and transitioning. All you need is create ModuleHandler and set its input and output. more info - https://habr.com/ru/company/raiffeisenbank/blog/448206/