Finish() should take a Check pointer so calls to it can be deferred