Raw model ...

{
	a: "Value 1",
	b: "Value 2",
	c: "Value 3"
}

Goes to ...

{
	a: { name: "a", value: "Value 1" },
	b: { name: "b", value: "Value 2" },
	c: { name: "c", value: "Value 3" }
}

Merges with lazy metadata ...

{
  b: { type: "checkbutton" },
  c: { label: "Property Three" }

}

Giving ...

{
	a: { name: "a", value: "Value 1" },
	b: { name: "b", value: "Value 2", type: "checkbutton" },
	c: { name: "c", value: "Value 3", label: "Property Three" }
}