refactors Discourse.Resolver