Switched to expression resolvers for improved extensibility.