emitting events every step of the way and adding logs to example