Code cleanup - refactor into terminator and forwarders