This can throw RejectedExecutionException (or other cool things)