include 'ExampleClass.php';

// The following code does not use getInstance(), so our data is not retrieved
$object = new Request;        // Don't pass a value to the constructor this time..
print $object->foo;           // prints: ''

$object = ExampleClass::getInstance();    // no variables are set in this constructor

print $object->foo;           // still prints: 'Hello World'

print $object->bar            // prints: 'implicit definition'

$object->bar();               // Prints $foo which is = 'Hello World'

$object->superClosure = function () { print $this->foo . PHP_EOL . $this->hello; };

$object->superClosure();     // Output: Hello World. We're assigning a new variable.