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"_).