Place a medium skillet over medium heat. Halve and thinly slice the onions and add to the pan along with 2 tablespoons of butter. Season with salt and pepper and cook for 5 minutes or until the onions soften slightly and pick up a little colour. Turn the heat down to medium-low and continue to cook for 15 to 20 minutes or until the onions are well-caramelized. If the onions start to catch at any point, just add a few tablespoons of water to deglaze the pan. Transfer the onions to a dish, wipe out the pan, and set aside.
Meanwhile, in a large bowl, combine the beef, mayonnaise, garlic, Worcestershire sauce, and breadcrumbs and season with ¼ teaspoon of pepper. Divide the mixture into 4 equal portions and form into patties roughly the same shape as the bread. Season the patties well with salt.
Place the skillet back over medium heat and melt in 1 tablespoon of butter. Add the patties into the pan and, using a spatula, squash them down slightly. This will ensure a good golden-brown crust on the patties and allow for a bit of shrinkage that, like with any ground meat patties, is sure to happen. Cook for 4 minutes per side or until golden and cooked through to 165ºF. Set the patties aside and wipe out the pan.
To assemble the sandwiches, use the remaining butter to butter one side of the bread. Add half of the bread to the pan, butter-side down, and turn the heat down to medium-low. Divide over half of the cheese and onions and top each with a patty. Top with the remaining cheese and place a piece of bread butter-side up on top of each. Cover the pan with a lid and cook until golden on the first side and the cheese has melted then remove the lid, flip, and continue to cook until golden brown.