Após realizar o desafio , consegui refaturar tudo e deu certo, porém notei que este sistema deixou meu site com uma certa lentidão comparado a versão anterior que fizemos tudo à mão. Outra coisa, apesar do Handler ser uma interface padrao psr, porque não mudamos simplesmente o nome da interface e onde ele pede o retorno não retornamos as headers? Pelo que percebi só essa mudança que notei. Outra questão a respeito do container. fiz meu projeto via repository e PDO e não implementei a parte do container pois não entendi muito bem essa parte para adaptar para meu repositório. para meu controller funcionar com o DB chamo essa classe :
$pdo = ConnectionFactory::createConnection();
$repoCursos = new PdoRepoCursos($pdo);
Após isso consigo tanto os métodos CRUD como a conexão. Como fazer isso no Container?