Implements Prototype patter.