It is extended by AzureSpatialAnchorsBase, which owns the UAzureCloudSpatialAnchor objects which are UE's representation of the ASA CloudAnchor object. That is then extended by AzureSpatialAnchorsFor classes in their own plugins (so one can choose to enable the feature per platform). The ForPlatform classes implement the api wrapper functions and do whatever type conversions and async translation is required. AzureSpatialAnchorsForARKit is an example. Other implementations may be somewhat simpler without this additional layer.