public function setAttribute($name, $config = array())
    {
        $attributes = is_string($name) ? array($name => $config) : $name;
        $property = null;
        foreach ($attributes as $name => $config) {
            if (is_numeric($name)) {
                $name = $config;
                $config = array();
            } elseif (is_string($config)) {
                $config = array('column' => $config);
            }

            $config['name'] = pick($this->getAlias($name), $name);
            $config['description'] = $this;
            $property = AnDomainProperty::setAttribute(new AnConfig($config));
        }

        return $property;
    }