Hi,
I have done something similar in https://github.com/jupitern/slim3-skeleton and added container and automatic resolution. take a look.
In my opinion the “handle” method should not be in the contoller or it should be a static method in BaseController for example.