Merge tag '1.0.0' into develop

Release 1.0.0
Signal cleanup.
Don't expect `.finish` to be exposed.
Pass arguments in signals.
`finish` -> `complete`.

Update some comments.

Make sure `complete` is always called.
JSDoc
`complete` should run `finalize` instead of just `stop`
Compact signals
Merge branch 'release/2.0.0'