BusinessProcess: use immutable to avoid useless copies
Fix getTradePhaseMovementList when it is called without an iterable as trade_phase