Yes you´re right it should be possible for a plugin to implement these 2 interfaces.
- IProgramListData is a slot inside a ProgramList
- IUnitData is for the whole state of a Unit (which could include global setting to a given unit and all state of each slot of the ProgramList)
we will update the documentation.