Я понимаю то, что вы говорите, для достижения цели, задачи должны быть выполнены, и пользователи работают над задачами.
Если это так, рассмотрите возможность назначения пользователя для задачи, а не для цели.
Таким образом, задание может быть чем-то вроде [taskID, описание, количество] ... [1, walk, 5].Пользователь [userID, userName] ... [10, Sam].И отношение между пользователем и задачей может быть [идентификатор пользователя, идентификатор задачи, количество] [10, 1, 3].
То есть пользователь Sam (10), работающий над заданием Walk (1), проехал 3 мили из 5.
Очевидно, что нужно заполнить много деталей, но, возможно, это только начало.