Add creational prototype pattern