Here's what I do, very simple:
Bring 1 pint milk up to boiling point in a saucepan. Turn off as soon as reaches the boil, and put in the fish with a couple of bay leaves. By the time the milk has cooled down, the fish will be perfectly cooked.
Then remove the fish from the milk (I usually pour the milk through a sieve to get all the fishy bits out and the bay leaves, which you can discard) put the milk back in saucepan with 1 oz butter and 1 oz plain flour. Heat, whilst continuously stirring with a whisk or spoon. Once it thickens up, the sauce is ready for flavouring.
I usually add:
Handful of chopped parsley, large handful of grated strong Cheddar cheese, salt and pepper.
Then you're more or less done, put the fish back into the saucepan, with whatever else you're adding, eg cooked prawns, chopped hard boiled eggs etc, mix, taste to check seasoning, then out in dish and top with potato.
You could also put capers in the sauce if you like the, but I don't bother, as I usually make a potato & caper rosti topping instead of mash.