moved task storage to its own module