public function setVisible($visible)
    {
        if (is_bool($visible)) {
            $this->visible = $visible;
        } else {
            $msg = "Visible must be a boolean, '" . gettype($visible) . "' given.";
            throw new InvalidArgumentException($msg);
        }
    }