Separated UI from service.