Make UI.pm data-driven, not if-ladder.