In a non-stick pan, cook bacon over medium heat until crisp. In the same pan, break eggs, 1 at a time, and reduce heat to low. Cook until whites are completely set and yolks begin to thicken. Remove from heat; sprinkle with salt and pepper. Spread mayonnaise over 2 slices of toast. Top with bacon, eggs, tomato, avocado, cheese and onion. Spread butter over remaining 2 slices of toast; place over top.