Separating UI work from Task using an interface.