TODO It should be nice to refuse chainExecutor to be called more than once by each function