Also removes unnecessary background texture (the actual storyboard background spec wasn't implemented correctly anyway).
Also moves delete and action logic to a shared implementation
Also add finaliser logic for safety. Also better threading. Also more cleanup.
Not yet working
Resolves #1941.
This avoids race conditions where a second download can potentially be started while the first is still active.
codefactor.io \(o.o)/ also one unnecessary semicolon
Not sure why these aren't being detected on master right now - they should be...