This feature-request arose in order to facilitate implementation and maintenance in future the HKL diffractometers in Sardana. However it could apply to any pseudo controller which requires generalization at the type (class) level and specification on the instance level. Today pseudo/physical roles are tied with the pseudo controller class. Having pseudo/physical roles assigned to the controller instance should be possible but optional.
There was a proof of concept implementation done some time ago:
https://sourceforge.net/u/zreszela/sardana/ci/feature-137/tree/
It should be reviewed whenever we come back to this feature-request.