I was more looking for different approches people have used.
They way I ended up doing it wasn't very nice.
But I was thinking more like perhaps using a factory design pattern, but the real problem with something like that is the way my initial console application was created. The console UI created all the object as opposed to a say Runner class constructing the console UI and deligates being used to pass messages. Really when I look back this would have been the best way todo things, but sadly this wasn't how things where done.