function push($attribute, $value) {
    if (! $this->has($attribute)) {
      return $this;
    }

    $new   = $this->get($attribute);

    if (! is_array($new) && !$new instanceof Traversable) {
      return $this;
    }

    $new[] = $value;
    $this->setPropertyFor($attribute, 'value', $new, 'push');

    return $this;
  }