C # 5.0 assíncrono aguardar retornar uma lista

Estou aprendendo sobre async / await e corri para uma situação onde eu preciso chamar um método assíncrono que deve retornar um objeto ou lista do mesmo objeto.
Este é o caminho certo para implementar?

de AManager.cs

public async Task Initialize(string objectPath)
{
    AnObject someObject = await BClass.GetAnObject(objectPath);
}

e este é o método chamado

Class B:
public async Task<AnObject> GetAnObject(string objectPath)
{
    AnObject someObj = new AnObject();
    return someObj;
}

O que acontece se eu quiser retornar uma lista de objetos? Eu deveria criar um wrapper que contenha uma lista? e devolver esse wrapper?
Porque isso não é aplicável:

public async Task<List<AnObject>> GetAnObject(string objectPath)

questionAnswers(2)

yourAnswerToTheQuestion