Create IDisplay components using factories

(makes it impossible to call methods on the IDisplay without calling
setup first).