Generalising project settings

Not quite complete ...