Write a design proposal for the basic interfaces of a Smithy service client. This design document should cover: * How the service client is configured * How operation inputs are constructed and provided to operation functions * How the client middleware stack is exposed and configured * How operations are defined and exposed on the client