Pull
Merge

emote-tracking branch 'upstream/master' into work

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Added better encapsulation to TypeFactory.cs