или же сделать что-то похожее на parameter-bag с методами has(string $key): bool и get(string $key, mixed $default): mixed
но тут всеравно никаких гарантий, что в том ключе будет лежать именно то, что ты ожидаешь. да и вообще ,что ключ будет =)
потому замыкания выглядят куда как надежней, хотя возможно не так красиво как могли бы