Support print cancellation in api (untested!)
Update TODO (beware, it's a mess)