Too Many Changes

Discovered Group can be calculated based on Context. Moved Group away
from Core. Also performed some code cleanup.