Make UserInterface abstract