I have updated the patch which now uses AssignHelper BUT it extends ACTIVITY and I have added stub for "run()" method.
This is done because methods that have been moved to AssignHelper used some sort of methods inherited from super class.
Initially I tried to move those superclass functions to AssignHelper (so that it would be pure class), but it ended up that it would require to copy & extract the logic from 5-6 functions from ACTIVITY class.
It wouldn't be clean way to copy them because if something changes, then those changes will be needed to apply in both AssignHelper and in ACTIVITY (or some of it's parents).
This way is better than first because it states what it does (AssignHelper), and it includes methods shared by both ASSIGN and SCOPE.
If there is any issues with this, please say, I will try to fix.