Separate more UI from core functionality