Spray a large skillet with nonstick cooking spray and heat over medium-high heat. Add the beef, and cook, using a spoon to stir and break up the meat into crumbles, until it is browned, 6 to 8 minutes. Drain the beef in a colander.
Wipe out the skillet and return it to the burner. Add the olive oil and heat over medium heat. Add the onions and garlic and cook until the onions are tender, 4 minutes. Add the ketchup, tomato paste, mustard, brown sugar, chili powder, salt, and pepper and stir until well combined. Add the water, Worcestershire sauce, and cider vinegar, then return the beef to the pan. Bring to a simmer, adjust the heat if necessary, and simmer uncovered until the liquid has reduced and thickened into a sauce, about 5 minutes.
Place an open bun on each plate, and using a large spoon, scoop some of the beef filling onto the bottom half of each bun. Add toppings, if desired, top with the other half of the bun, and dig in.
Most Worcestershire sauces contain anchovies, and therefore are not vegetarian, but you can find anchovy-free versions. Annie’s and The Wizard’s are two brands, and any Worcestershire labeled kosher will also be vegetarian. You could also substitute 1 tablespoon balsamic vinegar and 1 tablespoon soy sauce for the 2 tablespoons of Worcestershire.