Make _indexesContainingSomething an object map as arrays cannot handle negative grid indexes.
Use an inner grid to draw the river hexes in a tile. Start moving drawing functions to a ultility file.