Factoring resource metadata retrieval into AbstractResource