@Override
  public void onBind() {
    display.setHandler(
        new MealsListSubHandler() {

          @Override
          public void createMeal(String name) {
            // Create new meal
            MealModel model = new MealModel();

            eventBus.fireEvent(new MealShowEvent(model));
          }
        });

    // EVENT: meal removed
    addEventHandler(
        MealRemovedEvent.TYPE,
        new MealRemovedEventHandler() {
          @Override
          public void onMealRemoved(MealRemovedEvent event) {
            // if meal in list
            if (event.getMeal() != null) {
              if (event.getMeal().getTimeId() == 0) {
                removeMyMealPresenter(event.getMeal());
                removeMostPopularPresenter(event.getMeal());
              }
            }
          }
        });

    // EVENT: meal created -> reload meals
    addEventHandler(
        MealCreatedEvent.TYPE,
        new MealCreatedEventHandler() {
          @Override
          public void onMealCreated(MealCreatedEvent event) {
            if (event.getMeal().getTimeId() == 0) {
              reloadMeals = true;
            }
          }
        });
  }