Make various Element/Source init helpers @classmethod to clarify data flow
Description
As a first step toward being able to migrate functionality currently present in Element.__init__(), Source.__init__(), and helpers in those classes, into the Loaders / MetaElement/MetaSource, this MR is presented which migrates certain
methods to be class methods, explicitly passing in parameters which are needed from the initialisation, and using the class instance only for the plugin defaults. In doing this, a couple of methods had to be split to handle Variables expansion in an instance-method since they do deserve access to the instance, at least for now.
Edited by Daniel Silverstone