refactoring trading listener, partially