A delegate can execute either:
   - a control task on a 
ConfigurationItem, to perform some action.
   - a creator method when creating a 
ConfigurationItem
 
 A @Delegate method should adhere to the following rules:
 
     -  For Control Task:
         
             - The constructor of the object should take no arguments
 
             - The method should take the following 3 parameters:
             
                 - A ConfigurationItem (The item the method is invoked on).
 
                 - A String (the name of the method invoked).
 
                 - A Map<String, String> (The attributes of the method invoked).
 
             
              
             - The method should return a List<
Step> 
         
      
     -  For Creator:
         
             - The method should be static
 
             - The method should take the following 1 or 2 parameters:
             
                 - A CreatorContext.
 
                 - Optional: A Map<String, String> (The attributes of the method invoked).
 
             
              
             - The method should return void.