Refactor using loan pattern with event stream
Simplified async code
Simplified