A really simple promises library