Refactored State and new Entity sub-class

Should have been this way from the start.  Looking much better.