public AbstractFace build() {
        AbstractFace face = null;
        switch (faceClass.toLowerCase()) {
            case "black":
                face = new BlackFace();
                break;
            case "white":
            default:
                face = new WhiteFace();
                break;
        }
        //
        AbstractEyes eyes = null;
        switch (eyesClass.toLowerCase()) {
            case "normal":
                eyes = new NormalEyes();
                break;
            case "skewed":
            default:
                eyes = new SkewedEyes();
                break;
        }
        //
        AbstractNose nose = null;
        switch (noseClass.toLowerCase()) {
            case "tiny":
                nose = new TinyNose();
                break;
            case "big":
            default:
                nose = new BigNose();
                break;
        }
        //
        AbstractMouth mouth = null;
        switch (mouthClass.toLowerCase()) {
            case "big":
                mouth = new BigMouth();
                break;
            case "tiny":
            default:
                mouth = new TinyMouth();
        }
        face.setEyes(eyes);
        face.setNose(nose);
        face.setMouth(mouth);
        return face;
    }