added numConsumers as a simulation parameter, removed factories, fabricatores, and both methods and readded a universal run method