This should probably be weak to avoid retain cycles.