public function getter($attr)
    {
        if (isset($this->_getters[$attr])) {
            return $this->_getters[$attr];
        } elseif (isset($this->_props[$attr])) {
            return $this->_props[$attr]->getter($attr);
        } elseif (isset($this->_rels[$attr])) {
            return $this->_rels[$attr]->getter($attr);
        }

        throw new Exception("No getter available for $attr");
    }