protected boolean isCompleted() {
        GoalSensor gs = new GoalSensor(id);
        float goalBearing = gs.getGoalBearing();

        if (gs.nearGoal() && !startTimer) {
            startTimer = true;
            timer = 0;
        } else if (gs.nearGoal() && startTimer) {
            timer++;
        } else if (!gs.nearGoal() && startTimer) {
            startTimer = false;
        }
        
        if (timer >= 10 && gs.nearGoal()) {
            done = true;
        }
        return done;
    }