Refactor application of type decorators into an object
Merge pull request #15759 from sgrif/sg-extract-type-decorator

Refactor application of type decorators into an object