More refactoring on `Trader`