User`s guide

The way to achieve this recipe can be broken down as as follows:
When a request to run something expensive arrives on the main thread do the following:
1. Create a new Task object instance
2. Run the new Task on its own thread
We will talk about creating a new Task in a moment which is the meat of the story. However to run
the task, we can use the following boiler plate:
Thread thread = new Thread(taskInstance);
thread.setDaemon(true);
thread.start();
Now, let us look at the Task. A Task instance can be configured to return a value. In our case we
don't care about such a value but we will keep the concept anyway and simply use a Java String.
Page 264