code: public void start() {
  		Thread thread = new Thread(new Runnable() {
  			@Override
  			public void run() {
  				try {
  					onPreExecute();
  					Value value = execute();
  					onPostExecute(value);
  				} catch (Throwable throwable) {
  					onThrowable(throwable);
  				}
  			}
  		});
  		thread.start();
  	}
docs: Start asynchronous task execution.