<?php

class A
{
    protected $data = ['preset' => []];

    public function __call($name, $arguments)
    {
    	var_dump('__call()');
    	
        if ( method_exists($this, $name) ) {
            call_user_func_array([$this, $name], $arguments);
        }

        return $this;
    }

    public function get()
    {
    	$this->setPreset();
        return $this->data;
    }

    protected function setPreset()
    {
        $this->data['preset'][] = 'foo';
    }
}

$A = new A();

$data = $A->setPreset()
          ->get();

var_dump($data);
