I'll add that we can't have a shared superclass because the CloudStack app must extend LegacyAbstractSubnetApp in brooklyn-networking.