With behavior methods you cannot use pass-by-reference parameters. call_user_func_array() is used to call the methods and the arguments are not passed by reference.
Possible workaround: store missing fields in the Behavior class as an attribute and have a method to retrieve them.