Interface expressing that an instance is an integration point from which data can be retrieved.
Any type that is a provider of a certain type of data (forwarding HandDataAsset data from the system as done by Hand, altering and re-forwarding HandDataAsset data based on scene state as done by SyntheticHand, etc.) should be a DataSource for that kind of data.
This is a base interface for many different types supplying many different types of data throughout the Interaction SDK. For example, Hands are sources for HandDataAssets, while Controllers are sources for ControllerDataAsset.
This is a conceptual increment on IDataSource, adding only a specification of the type of data provided and an accessor to retrieve that data.