Как сделать переменную частной для черты?

Я хотел бы повторно использовать функциональность несколько раз в одном классе. Эта функциональность зависит от закрытой переменной:

trait Address {
    private $address;

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

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

Единственный способ найтииспользовать черту дважды, является следующим:

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

        getAddress as getWorkAddress;            
        setAddress as setWorkAddress;
    }
}

Проблема заключается в том, что, делая это, частная переменная$address распределяется между различными методами, и код не будет работать должным образом:

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

Есть ли решение по-настоящему использовать черту дважды, не разделяя ее частные переменные?