I became interested in the project, but for my purposes some improvements are needed, but for this I need to understand how it all works, so I would like to look at the service scheme, I see that there are cli, core and other services inside, how do they interact with each other? What design pattern is being used?