Use new GCD function to run blocks on main thread
Don't unload action icons

Also - rename some vars (they're sets, NOT arrays!) and use blocks for getting vals
Use a getter instead of struct accessor for iVars