Refactor client app. Extra abstraction layer. Renaming components.