Currently CRTCs and Connectors are created and destroyed dependent on the creation or deletion of a DrmOutput, i.e. the connection or disconnection of hot plug devices. Imo this isn't ideal, because they are static kernel objects.
One problem, which follows from this structure is, that we can't control the scanout state of disconnected outputs, but we want this for security reasons and gracefully tear down of a disconnected output or the DrmBackend as a whole.