¿Cómo hacer una variable privada a un rasgo?

Me gustaría reutilizar una funcionalidad varias veces en una sola clase. Esta funcionalidad se basa en una variable privada:

trait Address {
    private $address;

    public function getAddress() {
        return $this->address;
    }

    public function setAddress($address) {
        $this->address = $address;
    }
}

La única manera que he encontrado parausa el rasgo dos veces, es el siguiente:

class User  {
    use Address {
        getAddress as getHomeAddress;
        setAddress as setHomeAddress;

        getAddress as getWorkAddress;            
        setAddress as setWorkAddress;
    }
}

El problema es, al hacer esto, la variable privada.$address se comparte entre los diferentes métodos, y el código no funcionará como se esperaba:

$user = new User();
$user->setHomeAddress('21 Jump Street');
echo $user->getWorkAddress(); // 21 Jump Street

¿Existe una solución para usar realmente el rasgo dos veces, sin compartir sus variables privadas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta