public function appendToCollection(array $data)
    {
        list($data) = $this->fireEvent('append-to-collection', [ $data ]);

        $files = [];

        if(isset($data['files']['js']) && is_array($data['files']['js']))
            $files['js'] = $this->resolveFilesList($data['files']['js'], isset($data['revision']) ? $data['revision'] : null);
        if(isset($data['files']['css']) && is_array($data['files']['css']))
            $files['css'] = $this->resolveFilesList($data['files']['css'], isset($data['revision']) ? $data['revision'] : null);

        $this->collection[] = [
            'order'    => isset($data['order']) ? $data['order'] : 0,
            'name'     => isset($data['name'])  ? $data['name']  : uniqid(),
            'files'    => $files,
            'group'    => isset($data['group']) ? $data['group'] : $this->defaultGroup,
            'require'  => isset($data['require']) ? $data['require'] : []
        ];

        return $this;
    }