Melt 2 tbsp butter in a large pot over high heat. Add the chicken and season it with a pinch of salt and pepper. Cook for 1 1/2 minutes, until the first side is golden.
Turn the chicken over, season again with salt and pepper, and cook for another 1 minute, until golden. Transfer it to a plate. It does not need to be completely cooked at this stage because it will finish cooking in the oven.
Leave the chicken to rest for 5 minutes, then chop it into small pieces or shred it.
Preheat the oven to 160°C / 325°F.
Using the same pot, melt 4 tbsp butter over high heat. Add the mushrooms and cook for 4 minutes, until they begin to soften but have not yet browned.
Add the garlic and onion. Continue cooking for 3 minutes, until the mushrooms become golden. Halfway through cooking, season with a pinch of salt and pepper.
Reduce the heat to medium. Add the flour and stir for 30 seconds. Pour in the milk and stir for approximately 10 seconds, or until the mixture thickens.
Add the chicken stock, cream, 1 tsp salt and 1/2 tsp black pepper.
Stir and allow the mixture to heat through, stirring occasionally to prevent anything from sticking to the bottom of the pot.
Continue cooking until the sauce has thickened enough that a line drawn through sauce coating the back of a spoon briefly remains visible. Do not allow the sauce to become excessively thick; it will continue thickening after the cheese is added and during baking.
Turn off the heat. Stir in half of the cheese, then add the cooked pasta and chicken. Toss everything together thoroughly. Taste and add additional salt if required.
Transfer the mixture to a 23 x 33cm / 9 x 13" baking pan and level the surface. Scatter the remaining cheese over the top. Bake for 25 minutes, until the cheese is golden and the sauce is bubbling.
Serve immediately.