How to use the API Gateway Pattern in .NET to encapsulate microservices, providing loose coupling and insulating consumers from change