Bad plugin implementations might call finish() more than once which is not expected by receivers of the finished() signal and may cause weird side effects.