Eliminated "Promise passing style" and using future composition wherever possible