Right now the following code will be broken: ``` async function() { await ref.transaction( function(foo) { // deal with foo }, function(error, committed, ss) { // additional work on complete callback }, true ); // NOTE: Code from here will never execute because promise above never gets resolved } ``` v2 is not returning at the point of calling onComplete, v3 code does