Had another bash at spelling individual properly
Added the IEquatable interface to IState and derived types
Created new state implementation for foreground states