propagate label to finally
update argument names to aligned with promise nomenclature
fix bad rebase from 96c728d3c52d930f4331d78548ffe18867a46f3b

thanks @domenic