Implement progress callbacks