Constructor Pattern