Implement a basic ExchangePhase (Requires massive project refactorization and debugging.