Cleaned up naming and method semantics. Made some members public for save/restore state (not yet done).