public function load($data)
    {
        list($data) = $this->fireEvent('load', [ $data ]);

        if(is_array($data))
        {
            $this->loadFromArray($data);
        }
        else
        {
            $this->loadFromCollection($data);
        }

        return $this;
    }