code: public <T, U> ExecutionChain runOnBackgroundThread(Runnable r) {
          runOnThread(Context.Type.BACKGROUND, new RunnableTask(r));
          return this;
      }
docs: A convenience method to wrap a {@link Runnable} in a {@link Task} to be
  run on a {@link org.gearvrf.utility.Threads#spawn(Runnable) background thread}.
  
  @param r
  {@code Runnable} to run
  @return Reference to the {@code ExecutionChain}.
  @throws IllegalStateException
  if the chain of execution has already been {@link #execute()
  started}.