public function getStatus()
    {
        if ($this->config->has('fake_status')) {
            return new Status($this, $this->config->get('fake_status'));
        }

        try {
            $conn = $this->getFreshConnection();
            $conn->reconnect();
            $info = $conn->getServerProperties();
            return Status::working($this, [
                'message' => 'Could reconnect to rabbitmq server.',
                'server_properties' => $info
            ]);
        } catch (Exception $e) {
            error_log(
                '[' . static::CLASS . '] Error on status check: ' . $e->getMessage() . "\n" . $e->getTraceAsString()
            );
            return Status::failing($this, [ 'error' => $e->getMessage() ]);
        }
    }