Add class method then subclass can specify which property is optional. This can be used on struct and primitive property.