update copyright
update copy right
update the version configs for generated pub spec files
implement factory constructors for variant and discriminant