Ensuring that _finish is idempotent, since deferred callbacks may only fire once