Refactored to separate model and view.
Added CollisionMap class to handle collision separately.
Refactored other classes to work with new CollisionMap class.