@Override
  public Point2D move() {
      Point2D nextStep = null;
      Point2D mumperPos = getPosition();
      Point2D destPoint = mumperHouse;
      
      if (isLookingForBottle) {
          if (tmpDest != null && tmpDest.equals(mumperPos)) {
              tmpDest = null;
          }
          
          if (tmpDest == null) {
              int x = bottleCompass.nextInt(Field.getInstance().getXBound());
              int y = bottleCompass.nextInt(Field.getInstance().getYBound());
              tmpDest = new Point2D(x, y);
          }
          destPoint = tmpDest;
      }
      
      nextStep = GameUtils.lookUpNextStep(mumperPos, destPoint, Bottle.class);

      if (nextStep.equals(mumperPos) || nextStep.equals(tmpDest)) {
          tmpDest = null;
      }
      return nextStep;
  }