There is currently some code duplication between both classes in, for example, how the trial data is given to the Ax client. A possible solution would be to turn the AxModelManager into a high-level wrapper of AxClient in optimas. In this way, the ax generators would store (and interact with) an AxModelManager instead of directly using an AxClient.