API upheaval

I didn't want to make changes as drastic as this, because I intended
to push changes upstream, but these may introduce major breaking
changes.

I directly exposed the selected assets so that I can process them
on a background operation queue since I continually run the app
out of memory.