Pour the milk into a large shallow pan, then add the smoked haddock, bay leaf and peppercorns and bring to a simmer.
Cook for five minutes, or until the fish has just cooked through and flakes when pushed gently.
Lift the fish out of the pan and set aside to cool slightly before gently flaking, discarding the skin.
Meanwhile, strain the milk into a clean pan and beat the eggs together in a separate bowl.
Heat a frying pan until medium-hot, add 15g/½oz of the butter and the eggs and cook gently, stirring with a fork until they just hold together.
Add half the flaked fish to the top of the omelette, then roll out of the pan onto an ovenproof serving dish and top with the remaining fish.
Preheat the grill to hot.
Wipe out the omelette pan and add the remaining 25g/1oz butter and melt, then add the flour and cook stirring well for two minutes. Gradually add the milk, whisking all the time until it forms a smooth sauce. Season the sauce with salt and black pepper. You can add a knob of butter at this stage too if you want to.
Pour the sauce over the top of the omelette, then scatter the grated cheese over the top and place under the grill for 3-5 minutes, or until golden-brown and bubbling.