// Create the live node, if succeeded, start the decorated service, otherwise fail out.
Futures.addCallback(createLiveNode(), new FutureCallback<String>() {
@Override
public void onSuccess(String result) {
// Create nodes for states and messaging
StateNode stateNode = new StateNode(ServiceController.State.STARTING);
final ListenableFuture<List<String>> createFuture = Futures.allAsList(
ZKOperations.ignoreError(zkClient.create(getZKPath("messages"), null, CreateMode.PERSISTENT),
KeeperException.NodeExistsException.class, null),
zkClient.create(getZKPath("state"), encodeStateNode(stateNode), CreateMode.PERSISTENT)