class MesosStateService {

    public Collection<ExecutorStateInfo> executors(final String appName) throws JSONException {
        return Collections2.transform(findExecutors(fetch(stateUrl).getJSONArray("frameworks"), appName), new Function<JSONObject, ExecutorStateInfo>() {
            @Override
            public ExecutorStateInfo apply(final JSONObject input) {
                try {
                    return ExecutorStateInfo.builder().id(getExecutorId(input)).slaveId(input.getString("slave_id")).build();
                } catch (final JSONException ex) {
                    throw new RuntimeException(ex);
                }
            }
        });
    }

    public  MesosStateService(final CoordinatorRegistryCenter regCenter);

}