If we had a `facebook()` method in this class, and in that method it instantiated the vendor's components only when needed, we could save loading those components during `__construct()`, I think.

The result would look almost the same in this method, but `facebook()` would be a method, not var reference, as:

`$user_id = $this->facebook()->getUser();`

That would also save the `if ( ! $this->facebook )` check at the start of this method.