I have a pattern I\'m tyring to migrate to typescript where we pass an object containing metadata properties to the main class those properties are compromised of a common c