Patties: In a large bowl, gently but thoroughly combine all ingredients. Form into 4 equal-sized thin patties roughly the size of the bread you will be using or in the case of the naan, 1/2 the bread size. Cover the patties with plastic wrap and refrigerate for 30 minutes.
Onions: In a medium saute pan on medium heat melt the butter with the oil. Add the onion and season with a pinch of salt and a couple of grinds of pepper, to taste. Saute until the onions are caramelized, about 35 minutes, and set aside.
Preheat a griddle with 2 tablespoons of oil over medium-high heat. Griddle the patties on the on both sides until crispy on the edges and cooked through, about 3 minutes per side. Remove to a plate and wipe the griddle. Assemble the sandwiches by layering each bread 1/2 with a slice of cheese, a patty, another slice of cheese, onions, and the other bread 1/2, in that order. Brush or add 2 more tablespoons of oil to the griddle and put the sandwiches on the griddle. Press on the sandwich with a spatula to help toast evenly and hold the sandwich together. Cook until the cheese is melted and the bread is toasted, about 2 minutes on each side. Serve immediately with ketchup, for dipping.
Recipe courtesy of Sunny Anderson, 2010