In-progress work: refactoring PAL not to be instanced.
This removes a lot of useless passing around of the PAL object.