Return Optional<Task> in Task.Config Instead of returning null when a task is not available, return an Optional<Task> to help clarify expectations and make maintenance easier. To avoid API confusion with java Optional, use the term "expression" instead of "name" and "optional" for task expressions which can be optional, and improve the docs. Change-Id: Ifb4b6556e0a87ebbebb4b57d5f22b985ea87c695