Modified _update() to check for array-based data

Internally $data is always an array() but just in case someone sometime changes something this checks to see if the value is an array before calling array_way_recursive().