Allow properties not to be there (eg LayoutName on touch)
if value is null and type is value type (eg int? nullable), return default value