Simplify getting requirements_to_satisfy
Simplify return statement
Don't use an empty list as default parameter
Simplify getting num_tasks_by_prio
Use AgentState, WorkState instead of strings
Always use generator type range()
Use positional parameters for logging
Rename q -> query, prio -> priority