moved more responsibility to ResultSinglton