How agents can assign their own tasks,

How agents can assign their own tasks,

We have Leads and we create Automated Tasks from Blueprint which gets auto assigned for the Lead owner, but we need our different people to assign these tasks to themselves, rather then to the record owner.

Ideally what we expect is, 
1. Agents from our team, can automatically pick and assign some tasks to thier pool, rather it being assigned to the Lead owner. 
2. Agents should also be flexible to assign this tasks to their peer if needed.