minor naming suggestion: `CategoryItem.from(yaml)`, or fromYaml. This is only because we commonly use 'from' instead of 'with' to say that this object is built from that other object in most dart libraries.