Fix: passing a custom loop through the protocol should now work (Not relying on the global event loop).