Rewritten architecture for supporting async tasks and caching checks.
New todo.