Rebase
Change to callback
Remove console, rebase
Review cleanup
Rebase, landed 843187