Introduce engine manager, corresponding APIs