Move all UI code to a new package