Cook bacon until crispy, using any method you prefer.
Lay bread slices flat on a plate or work surface.
Spread each slice generously with mayonnaise.
Sprinkle with garlic powder and onion powder, to taste.
Top two slices with lettuce, tomato and bacon.
Place remaining bread slices, mayonnaise-side down on top.
Spread top of the sandwich with 1 teaspoon butter.
Place a grill pan or skillet over medium-high heat.
Carefully place sandwich in the skillet, buttered-side down.
Spread the top with remaining 1 teaspoon butter.
Cook until bread is lightly browned, about 2 minutes.
Flip over carefully. Cook until this side is also lightly browned, about 2 more minutes.
Repeat with remaining sandwich.
Place on plates flipping over so bacon above tomatoes and lettuce.
Remove top. Add a freshly fried egg to top of each sandwich, if using. Replace bread and serve hot.