deliver.php

<?php

require(__DIR__.'/Delegate.php');
require(__DIR__.'/../../github/tools/class/Arrays.php');

$delegate = new Delegate();
$delegate->addData(
    [
        'user'=>[
            'name'=>'Reed',
            'email'=>'rsutman@gmail.com',
            'password'=>'encryptedData',
            'passwordExpiry'=>'expires always',
            'profileUrl'=>'dev.localhost/fake-user-profile/'
        ],
        'site'=>[
            'name'=>'Dev Site',
            'pdo'=>new stdClass(),
            'log'=>function($message){
                echo "We are supposed to log the following message, but we're just printing it because we're baaaaad.";
            }
        ]
    ]
);

$delegate->permitFile(__FILE__,'user');
$delegate->permitFile(__FILE__,'user.name');
$delegate->permitFile(__FILE__,'site.pdo');

include(__DIR__.'/other.php');

$obj = new stdClass;
$obj->user = $delegate->get('user');
$obj->userName = $delegate->get('user.name');
$obj->fakePdo = $delegate->get('site.pdo');

$delegate->call('site.log','This awesome message should be logged');


var_dump($obj);