Removed some headers in favor of forward declarations.
Removed  unused variable.  Moved loop index declaration to the for() loop.

Avoids warning wrt uninitialized variable.
Added default constructor.  Made isValid() const.

-- Addresses uninitialized members.
Added missing ctor initializers.
Added missing member initialization
Removed copy constructor.

-- If the generated copy constructor will do, don't define one.  It
becomes an unnecessary maintenance issue.
Removed an include in favor of a forward declaration.