"The speed of feature release for web and mobile apps continues to increase, but it can grow costly and time consuming to constantly rebuild and redeploy client applications—especially through app stores, where updates can take more than a week to appear. What if you could add new features to an existing client without repeatedly installing new versions of the application? What would the code look like? What changes are needed to create a client that can adapt to changes in the service API? How much change is reasonably possible when both the client and API are able to evolve over time?