[Bug 1026] Added optional callback in finish(), added strong wording to advise against blocking APIs