To cook the dried beans, first soak them in plenty of cold water overnight. Drain and place in a saucepan filled with fresh water. Place on a high heat and bring to the boil, then reduce the heat and simmer for 3/4-1 hour or until tender. Remove from the heat, drain in a colander and allow to cool.
Mix together all the ingredients for the marinade in a shallow bowl, then add the steak and coat in the mixture. Cover and place in the fridge for at least an hour, or up to 3 hours.
Shortly before the steak has finished marinating, prepare the refried black beans. Melt the butter in a wide saucepan or frying pan on a medium heat, then add the onion, garlic, chilli and cumin. Gently fry for 6-8 minutes or until soft and slightly golden around the edges. Tip the cooked beans into the pan and continue to cook the mixture, uncovered, for 3 minutes or until heated through.
Using a potato masher or fork, mash the bean mixture, keeping it chunky and not too smooth. Pour in the stock, then bring to a simmer and cook for 4-5 minutes, uncovered, until the mixture is quite thick. Season to taste with salt and pepper and keep in the pan until you’re ready to serve, reheating if necessary.
When the steak has finished marinating, place a griddle pan or a frying pan on a high heat for about 5 minutes to heat up. Add the olive oil to the pan, then add the steak with any marinade coating it. Season with salt and pepper and cook for just a few minutes on each side, depending on how rare you like your meat. When you tum the steak over, season the other side with salt and pepper too. Remove from the heat and allow to rest for 5 minutes before cutting into slices about 5mm (1/4in) thick.
Place the tortillas, steak slices and other accompaniments in separate serving dishes and let people assemble the fajitas themselves, with lime wedges if liked.