Refactor convoke ability