Notification represents a JSON-RPC notification message.
NotificationResult represents the result of a subscription notification.
It includes the result and the subscription ID that triggered the notification.
Request represents a JSON-RPC request message.
It includes the JSON-RPC version, an identifier for the request, the method
to be invoked, and optional parameters.
Response represents a JSON-RPC response message.
It includes the JSON-RPC version, an identifier matching the request, the result of the request,
and an optional error.