Implement task interface