Краткий список того, что может понадобиться:
1. Любой таск - это связанные ноды или "дерево" объектов таска (текст, изображения, файлы и т.д.).
2. Любой таск - может быть зависим от других тасков или другие таски могут быть зависимы от него.
3. Любой таск - может имееть собственный шаблон поведения на различные типы событий, зависимых от времени, других тасков или действий пользователя.
4. Для любого таска - могут быть заданы права ACL/
ABAC.
5. Любой таск - всегда содержит несколько свойств и различные статусы.
6. Любой таск - может быть делегирован другому пользователю, включая все зависимые (от делегируемого таска) другие таски.
в каком виде хранить списки юзеров
В обычном: табличный список. И к каждому пользователю привязывать новый таск, созданный им же.