Boil a large pot of water with 1 tbsp salt. Add the penne and cook 1 to 2 minutes less than the packet time, so it is just al dente. Before draining, save 1/2 cup of the pasta water.
Toss the chicken with soy sauce, salt, black pepper and oregano. Heat 1 tbsp oil in a wok and cook the chicken on medium heat for 4 to 5 minutes until cooked through.
Add the capsicum (and mushrooms, if using) and saute for 2 minutes, so the capsicum stays green and crunchy. Take everything out and keep aside.
In the same wok, melt the butter with 1 tsp oil on low heat. Add the garlic and saute for 30 seconds until fragrant, without browning.
Add the flour and stir continuously on low heat for 1 to 2 minutes, until it smells slightly nutty but is still pale. This cooks out the raw flour taste.
Pour in the warm milk a little at a time, whisking continuously. Keep whisking until the sauce is smooth and thick enough to coat the back of a spoon, about 4 to 5 minutes.
Turn the heat off. Stir in the cream, cheddar cheese, chilli flakes, oregano, black pepper and salt to taste. Turn the heat back to low and stir for 1 to 2 minutes until the cheese melts and the sauce is silky.
Add the boiled pasta, chicken and capsicum. Toss well, adding a splash of the saved pasta water if the sauce feels thick.
Sprinkle extra chilli flakes and fresh parsley on top and serve immediately.