The project architecture is based on a modular principle. The editor's main modules are independent of each other and communicate through the router using an interface. The router registers objects by request and keeps them with the Gameplay Tag key. Thus, you can pass a command or request between any two system parts without accessing them directly. Also, you can wrap any data or objects with JSON and send them through the router.