json_schema: {
      "additionalProperties": false,
      "properties": {
          "active": {
              "description": "e.g. mouse button is down",
              "type": "boolean"
          },
          "char": {
              "description": "keycode",
              "oneOf": [
                  {
                      "type": "null"
                  },
                  {
                      "maxLength": 20,
                      "type": "string"
                  }
              ]
          },
          "element": {
              "description": "id attribute",
              "pattern": "^[a-f][a-f0-9]{31}$",
              "type": "string"
          },
          "time": {
              "description": "millis per Date.getTime",
              "type": "integer"
          },
          "tool": {
              "enum": [
                  "Pen",
                  "Hand",
                  "Eraser"
              ],
              "type": "string"
          },
          "x": {
              "description": "in SVG coordinates",
              "type": "number"
          },
          "y": {
              "description": "in SVG coordinates",
              "type": "number"
          }
      },
      "required": [
          "time",
          "tool",
          "active"
      ],
      "type": "object"
  }