Trim beef cubes so they are all more or less the same size. Season generously with salt and pepper (about 1 1/2 teaspoons salt and 1/2 teaspoon ground pepper)
Melt butter in a large stock pot (if possible, do not use non-stick) over medium high heat. Add 1 Tablespoon oil.
Once butter is foaming, add enough beef cubes to form one layer at the bottom of the pan. (Do not overcrowd. You will likely brown 2-3 batches depending on the size of your pan.)
Let the beef cubes sizzle until browned, then turn until all sides are browned. Remove to a plate and continue with the rest of the beef cubes. Don't worry about any brown bits on the bottom of the pan. Add a little oil and butter, if necessary. There should be a thin layer on the pan at all times.
After all of the beef has been removed from the pan, immediately add onions and stir around into oil and browned bits. Add a pinch of salt to the onions and keep stirring until onions soften, about 3-4 minutes.
Add garlic, stir in for about 30 seconds.
Add tomato paste and stir until the paste covers the bottom of the pan. You will start to get nervous thinking you will never get this pan clean. Just when it begins to stick and darken...
Add the wine and thyme and bring to a boil scraping the bottom of your pan with a wooden spoon to loosen all of the bits. Continue boiling for about 1 minute until it barely covers the pan.
Add broth, cocoa, bay leaf, cinnamon stick and orange zest/peel. Stir to combine. Add salt and pepper to taste. (I recommend you do taste as broth can vary widely in salt content. I usually end up adding about a teaspoon of salt and 1/4 teaspoon of pepper.)
Cover and simmer over lowest heat for about 2 1/2 or 3 hours until beef is meltingly tender.
If adding vegetables, add during the last hour of cooking.
To serve, remove bay leaf, cinnamon stick and orange peel.
To cook in a crockpot, prepare stew on stovetop then pour into crockpot to simmer for about 7-8 hours on low heat or 4 hours on high.