_addElement(source, texture, successCallback, errorCallback) {
        const el = {
            source,
            texture,
            load: this._sourceLoaded.bind(this, source, texture, successCallback),
            error: this._sourceLoadError.bind(this, source, errorCallback),
        };

        this.elements.push(el);

        return el;
    }
Keep a track of all sources loaded via this loader with an els array
     This allows to get clean refs to the event listeners to be able to remove them later

     params:
     @source (html element): html image, video or canvas element that has been loaded
     @texture (Texture class object): our newly created texture that will use that source
     @successCallback (function): reference to our success callback
     @errorCallback (function): reference to our error callback
*