Start by melting the butter over medium-low heat.
Once the butter is melted, add the flour, garlic powder, salt, and pepper. Start whisking until incorporated. Make sure to continue stirring until completely incorporated. It is important to cook the mixture at least one-two minutes to cook the raw taste out of the flour.
Add half of the milk and whisk until smooth and starting to thicken.
Add the rest of the milk and whisk until smooth. Leave this cook for a minute or two as it will begin to thicken again. Notice the sauce that clings to the spoon? This is what you want to see.
Once this sauce starts to thicken, add the diced ham and continue to cook about 4 minutes - until the sauce starts to bubble. Then you know that everything is heated through. Since the ham is pre-cooked, it just has to be heated through.
Toast your toast if desired and spoon the creamed ham over the bread. Enjoy!