Refactor the whole code.
Improve the design of [Controller].
Reflect the update of [Controller].