extracted a BlockWorldModel to handle BlockWorld logic
cleaned up BlockWorld
works again after refactoring
fixed generator bug
introduced colors
added more shapes
added 2 more shapes
now has all shapes and is cleaned up