Refactored ExtendedVariables, pushing service action into separate class so that it can be reused.