diff --git a/peer.py b/peer.py
index <HASH>..<HASH> 100644
--- a/peer.py
+++ b/peer.py
@@ -77,10 +77,6 @@ from .constants import (
 )
 
 
-_ReceivedMsgCallbackType = Callable[
-    ['BasePeer', protocol.Command, protocol._DecodedMsgType], None]
-
-
 async def handshake(remote: Node,
                     privkey: datatypes.PrivateKey,
                     peer_class: 'Type[BasePeer]',
@@ -259,6 +255,12 @@ class BasePeer:
             if finished_callback is not None:
                 finished_callback(self)
 
+    def is_finished(self) -> bool:
+        return self._finished.is_set()
+
+    async def wait_until_finished(self) -> bool:
+        return await self._finished.wait()
+
     def close(self):
         """Close this peer's reader/writer streams.
p2p: New Peer methods to check if it's finished