Opts, promises and documenting for EndState