Store options object
Maintain a hashmap of engines

This should be done better
Remove switch/case name-to-inst block
Make engine choice async