separate out vendor widget wrappers into their own package