Get rid of redundant makeCoordinate function.
Add unit tests for new IsingGrid implementation.
Properly instantiate runtime errors.
Move coordinate class to IsingGrid, rewrite.
Move and refactor neighbor logic into IsingGrid class.
Simplify and explain the neighbor logic.
Make coordinate class a protected member of Grid.
Adapt tests to support new grid interface.
Make the difference between coordinate class members and grid class members more clear.
Implement custom iterator over Ising::Grid.
Add toggle method to Ising::Cell.
Fix an infinite loop related it iterator comparison.
Properly dereference neighbor iterators in Ising::Grid tests.
Fix and test the ending iterator.
Implement random access for Ising::Grid
Add infinite loop protection to the ising grid test.
Adjust neighbors test to reflect new interface.
Add a test case to check the reversible ising dynamics.
Add getEnergy method to Ising::Cell.
Fix compiler errors related to iterator instantiation.