use gcd queues for command execution so that long running commands don't
crash the app if the view tries to update