There should be $value->$callable() and break in case of returning false.
To make this method even more "transparent", I renamed $value to $obj (object).