Separate out logic for tasks plus specs