refactored GapZoneAssigner. Extracted some of the decision criteria.  Still need to clean this up.  Maybe impl Strategy Pattern