Mega-refractor on displays

Add an abstract class for displays to refractor code and prepare the "1
controler to rule them all" plan