Divide the currently custom editor provider implementation into `Controller` and `Model` to make the data stream clear.
Divide the currently custom editor provider implementation into
ControllerandModelto make the data stream clear.