I recently refactored a legacy service using this layered approach, and your step-by-step breakdown perfectly captures the initial hurdle of setting up those project dependencies. The clear separation you demonstrated for the Core and Infrastructure projects is exactly what made testing so much easier later on.