better decoupling of UI
better decoupling of UI