Implement custom ability behaviour