Shouldn't this functionality be perfect for Shepherd? I took the liberty of adding that as a solution in brainstorm.