Refactored async operations to not block threads, Moved init to be first method

Moved typeahead into its own method
Moved most init code to render()