public function attributes(array $current = array())
    {
        $attributes               = isset($this->params['attributes']) ? $this->params['attributes'] : [];
        $this->attributes         = array_merge($this->config, $attributes, $current);
        $this->attributes['name'] = $this->name;
        $this->attributes['x']    = isset($attributes['x']) ? $attributes['x'] : $this->attributes['x'];
        $this->attributes['y']    = isset($attributes['y']) ? $attributes['y'] : $this->attributes['y'];

        $width  = isset($this->attributes['width']) ? $this->attributes['width'] : $this->attributes['default_width'];
        $height = isset($this->attributes['height']) ? $this->attributes['height'] : $this->attributes['default_height'];

        $this->attributes['width']  = isset($attributes['width']) ? $attributes['width'] : $width;
        $this->attributes['height'] = isset($attributes['height']) ? $attributes['height'] : $height;
        return $this->attributes;
    }