Factor out resolving meta-object by declarator.

To implement COMPOSE, we need to only lazily construct the derived
meta-object upon first usage. Factoring out the resolution into one
place will enable this. No functional changes.