make GUI AbstractController actually abstract