Prototype pattern example