Rewrote iteration in Cell step(), now each element is compared once. Added reactWith() in both Atom and Element. Atom now extends Element