Sauté the cabbage, onions and apples in the butter for about 10 minutes, stirring frequently. Add the remaining ingredients and stir well. Cover, lower the heat, and let simmer for 1 hour, stirring occasionally. The cabbage can be served at this point but improves if allowed to cool and reheated several hours later or the next day.