It is designed to enable flexible development and experimentation. Besides, Emukit is model agnostic, which means you can use any tool of your choice in the Python ecosystem to build the surrogate model, and still be able to use Emukit.