Using cake pattern for DI.