Is there a link between CL_ADJUST and the rest of your program? Does the instantiation of the CL_ADJUST do/trigger anything specific? Or is the EXECUTE method just a function module converted to a method?
Basically, the question is if the instance of CL_ADJUST is truly required (and related to a certain 'promotion')? Or if it is only required to be able to execute the EXECUTE method.
In case of the latter, one instance would be enough I'd say.