Help with clean architecture - C#