Refactor base holding matrix to IEnumerable

LargeDataSimulator can now use a Hashset