Como armazenar delegados em uma lista

Como posso armazenar delegados (nomeados, anônimos, lambda) em uma lista genérica? Basicamente, estou tentando criar um dicionário de delegados a partir do qual posso acessar um delegado armazenado usando uma chave, executá-lo e retornar o valor sob demanda. É possível fazer em C # 4? Alguma idéia para conseguir isso? Nota: A lista heterogênea é preferível onde posso armazenar qualquer tipo de delegado.

questionAnswers(4)

yourAnswerToTheQuestion