Detached parameter data from the program

Closes #208

Please have a good look at it. There is probably a couple of ergonomic improvements we can do.
I like the move away from `Shell` - I never really understood that too well.