public function getField($field)
    {
        $value = $this->array[$field];
        if (is_object($value) && !$value instanceof ViewableData) {
            return new ArrayData($value);
        } elseif (ArrayLib::is_associative($value)) {
            return new ArrayData($value);
        } else {
            return $value;
        }
    }