<?php

$obj = (object) [
    'a' => function(){ return 1; },
    'b' => (object) [
        'ba' => function(){ return 2; },
        'bb' => (object) [
            'bba' => function(){ return 3; }
        ]
    ]
];

call_user_func($obj->a);
call_user_func($obj->b->ba);
call_user_func($obj->b->bb->bba);
