Removed the result member variable

Usage of this variable rendered the groups to be unusable in the parallel
environment as the threads experienced data race. Replaced with local variables
in member functions.
Strong TODO suggestion
Changed the usage of result variable

As explained in the parent commit, this change is done due to parallel
environment.
More changes to conform the parallel usage