Peer Review (also known as Peer Assessment) is an important technique in learning, but can be difficult to support through e-learning due to the complexity and variety of peer review processes. In this paper we present PeerPigeon, a Web 2.0 style application that supports generalised Peer Review by using a canonical model of Peer Review based on a Peer Review Pattern consisting of Peer Review Cycles, each defined in terms of Peer Review Transforms. We also demonstrate how PeerPigeon makes use of a Domain Specific Language based on Ruby to define these plans, and thus cope with the irreducible complexity of the flow of documents around a peer network