anchor.diff:        .then((Map<String, Recipe> allRecipes) {
           _recipeMap = allRecipes;
           recipesLoaded = true;
  -      },
  -      onError: (Object obj) {
  +      })
  +      .catchError((e) {
  +        print(e);
           recipesLoaded = false;
           message = ERROR_MESSAGE;
         });
  
positive.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() {
  
negative.code:   bool categoriesLoaded = false;
  
    // Data objects that are loaded from the server side via json
    List<String> _categories = [];
    List<String> get categories => _categories;
    Map<String, Recipe> _recipeMap = {};
    Map<String, Recipe> get recipeMap => _recipeMap;
    List<Recipe> get allRecipes => _recipeMap.values.toList();
  
    // Filter box
    Map<String, bool> categoryFilterMap = {};
  