Preheat oven to 350º F (180º C).
Season chicken with salt and pepper.
Heat 3 tablespoons olive oil in a large skillet (NOTE: use an oven-safe skillet large enough to fit the pasta) over medium-high heat. Add chicken and cook for 3 - 5 minutes until lightly golden and cooked through.
Add the mushrooms and sauté until the liquid from the mushrooms evaporates, and the mushrooms become slightly golden, about 2-3 minutes. Transfer chicken and mushrooms to a plate. Reserve.
Add the remaining tablespoon of oil and the butter to the same skillet. Add the onion and garlic, and sauté until the onion is translucent, about 5 minutes. Add the wine and simmer until it evaporates, about 2 minutes.
Add milk and chicken stock to the skillet; bring to boil. Then add uncooked pasta and mix to combine. Cover, reduce heat to medium, and cook for 12 minutes, stirring occasionally, or until the pasta is tender.
Once the pasta is tender, add cream, parmesan, and cream cheese, if using, and mix. Simmer, occasionally stirring, for about 2 minutes, until sauce is thickened. Add parsley and mix to combine.
Add the cooked chicken and mushrooms to the skillet; mix to combine. Sprinkle the mozzarella cheese over the pasta. Bake, uncovered until the cheese is melted and golden brown and the sauce bubbles, about 20 minutes.