Lightly butter each side of all 4 of your hoagie rolls.
In a skillet, grill the rolls, butter side down, till golden brown. Set to the side on a plate.
Add ketchup to one side of the roll and mayo to the other side.
Add your ground beef to a bowl and season with the salt, pepper, and garlic powder, and Worcestershire. Using your hands to gently mix the meat. Divide the meat into 4 pieces and make a sort of oval type patty of each piece. Try to not to overwork them. Set aside.
Add half the onion and all the oil to the skillet over medium heat and cook for about 5 minutes, till softened. Push the onions to the side.
Add two of the patties to the Skillet and cook for about 5-6 minutes. Make sure to mix the onions on the side from time to time.
Turn the meat over. After cooking for 2 minutes on the second side, place 1 slice of American cheese on each patty and the remaining onions on top of the cheese.
Use a spatula and start chopping each patty into large chunks, letting it not be one entire patty anymore, letting the cheese melt into the cracks of the meat. You don’t want to chop the meat too small but don’t want especially large pieces either.
Mix the meat, onions and cheese together till the meat is cooked all the way through and the cheese and onions are mixed in.
Reduce heat to low and organize each meat mixture in the pan to be in about the same size as your hoagie and place another slice of American cheese on top. (tear your cheese in half and place it longways on the meat).
Once your cheese on top is melted, gently transfer them to the prepared hoagie.
Top with tomato slices and lettuce and serve hot.
Repeat the process with the remaining onions and meat. If you have a lot of grease in your pan, drain it before cooking the onions. There will be enough oil in your pan even after draining it that you won’t need to add any with the onions.