protected function bootstrap() {
        \set_error_handler(function ($errno, $errstr, $errfile, $errline) {
            if(\error_reporting() === 0) {
                return true;
            }
            
            throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
        });
        
        \error_reporting(-1);
        
        if(\file_exists(__DIR__.'/../vendor/autoload.php')) {
            require_once __DIR__.'/../vendor/autoload.php';
        } else {
            require_once __DIR__.'/../../../autoload.php';
        }
        
        $this->exceptions->__construct(); // Set the static variable again
        \CharlotteDunois\Phoebe\ResourceSocket::$closeResource = false;
        
        static::$events = new \CharlotteDunois\Events\EventEmitter();
        self::$events = static::$events;
        
        static::$loop = \React\EventLoop\Factory::create();
        self::$loop = static::$loop;
        
        static::$me = $this;
        self::$me = static::$me;
    }