Fix for legends updating unnecessarily, centralized legend updating logic, refs: geomoose/geomoose#23