Refactor driver properties

Made real properties for holding dependent layers (which should not
change throughout the lifecycle of the application). We may need to
change this for testing but let's start with locking things down.