Refactored the object instantiation to leverage reflection. This resulted in all data object constructors parameters directly mirroring the expected returns from the api, which should simplify object instantiation dramatically. I am still unsure if I will need this static method on data objects to get their properties.