Implements different forms of IPC