Clase PHP no guarda referencia

¿Cómo paso una referencia a un constructor de objetos y permito que ese objeto actualice esa referencia?

class A{
    private $data;
    function __construct(&$d){
        $this->data = $d;
    }
    function addData(){
        $this->data["extra"]="stuff";
    }
}

// Somewhere else
$arr = array("seed"=>"data");
$obj = new A($arr);
$obj->addData();

// I want $arr to contain ["seed"=>"data", "extra"=>"stuff"]
// Instead it only contains ["seed"=>"data"]

Respuestas a la pregunta(3)

Su respuesta a la pregunta