Refactored parts of MRVHeuristic out to base class.