Functional Controllers with Interfaces and Repositories