> Not sure why toJSON is needed here, especially because compare to Frame, Toolbar's items could be not "JSONable".
> Plus, I find it a bit misleading: toJSON is intended to returns string, not object – JSON is a string format – as Date.prototype.toJSON does, and as the description of JSON.stringify implies ("JSON.stringify method: Convert a value to JSON").

Primary intent to implement `toJSON` method is a debugging facilities. `toJSON` affects behavior of the `JSON.stringify(...)`. It was just very convenient to log stringifyied JSON representations of instances, as
it only contains state and no other noise. Also note that items will be serialized `toJSON` too and as they have
their own `toJSON` hooks everything will work nicely.