Changed .gitignore to just ignore the TODO file.
Changed the states structure from blocks to classes.
Improved the has? method in Location.rb and Container.rb.