Factor DocumentManager into a Singleton and update targets