Implemented Promises

Move this comment to the `Mic._stream.stop()` line as what actually triggers the event is not your `stop()` but the `Stream::stop()` method.