Cut the buns in half and toast them lightly. Spread mayonnaise on one side.
Melt the butter in a nonstick skillet. Once the butter has melted, add the onion and cook until fragrant. To one side, push.
Add the ground beef, being careful not to break it up. Add salt, pepper, and garlic powder to taste. Cook for 4 minutes on one side, then flip and cook for another 2 minutes on the other.
Break the beef apart slowly, then fold in the onions. When the center of the beef is no longer pink, divide it into four equal-sized portions.
Cook for 2 minutes, or until the American cheese is gooey and melted, over each portion.
Place each portion in a hoagie bun and top with shredded iceberg lettuce and sliced tomatoes.