Revamp of exchange code, previously dependent on framework plugin