Issue #36: widgets can now be parsed from a JSON string