Sharing data between plugins

I have occasioned upon several instances where configuration data, such as version numbers of artifacts, are determined at runtime. The approach I have been taking is to use the extra properties extension to share the data between multiple plugins. The side-effect to this approach is that I cannot create an independent plugin (independent of the project). The plugins, in order to share the extra property, need to use the global ClassLoader (buildSrc) otherwise I run into a ClassCastException. I have used other plugins that have been able to “share” data (such as the Artifactory plugin) and am wondering how data is typically shared without running into class loading issues?

Thanks for your guidance,