restructuring VariableDocument into DocumentProxy and adding PageLoaders strategies. WIP - tests TBD, ammend this