Add cancellation API
Test the new cancellation API
Update header documentation
Update README