Refactoring, documentation, and started on tile system.