anchor.diff:            categoryFilterMap[category] = false;
           }
           categoriesLoaded = true;
  -      },
  -      onError: (Object obj) {
  +      })
  +      .catchError((e) {
  +        print(e);
           categoriesLoaded = false;
           message = ERROR_MESSAGE;
         });
     }
  -}+}
  
positive.code:       .then((Map<String, Recipe> allRecipes) {
          _recipeMap = allRecipes;
          recipesLoaded = true;
        },
        onError: (Object obj) {
          recipesLoaded = false;
          message = ERROR_MESSAGE;
        });
  
negative.code:   }
  
    // Tooltip
    static final _tooltip = new Expando<TooltipModel>();
    TooltipModel tooltipForRecipe(Recipe recipe) {
      if (_tooltip[recipe] == null) {
        _tooltip[recipe] = new TooltipModel(recipe.imgUrl,
            "I don't have a picture of these recipes, "
            "so here's one of my cat instead!",
            80);
      }
      return _tooltip[recipe]; // recipe.tooltip
    }
  
    void _loadData() {
  