Refactored update classes to use factory for construction.

Done to allow easier unit testing of update-related classes.