diff --git a/library/ZendAfi/View/Helper/TagModelTable.php b/library/ZendAfi/View/Helper/TagModelTable.php
index b94a06856b89772c6bf93c5d40a9fdf6af536d49..b843b22ed1802b3a395c3605e1c216c094dcda35 100644
--- a/library/ZendAfi/View/Helper/TagModelTable.php
+++ b/library/ZendAfi/View/Helper/TagModelTable.php
@@ -24,13 +24,13 @@ class ZendAfi_View_Helper_TagModelTable extends Zend_View_Helper_HtmlElement {
 	/** @var int */
 	protected $_cols_count = 0;
 
-	public function tagModelTable($models, $cols, $attribs, $actions, $id, $group_by = null) {
+	public function tagModelTable($models, $cols, $attribs, $actions, $id, $group_by = null, $callbacks = []) {
 		$this->_hasActions = 0 < count($actions);
 		$this->_cols_count = count($attribs) + ($this->_hasActions ? 1 : 0);
 		
 		return '<table id="'.$id.'" class="models">'
 			.$this->head($cols)
-			.$this->tbody($models, $attribs, $actions, $group_by)
+			.$this->tbody($models, $attribs, $actions, $group_by, $callbacks)
 			.'</table>';
 	}
 
@@ -48,7 +48,7 @@ class ZendAfi_View_Helper_TagModelTable extends Zend_View_Helper_HtmlElement {
 	}
 
 
-	public function tbody($models, $attribs, $actions, $group_by) {
+	public function tbody($models, $attribs, $actions, $group_by, $callbacks) {
 		$rows = '';
 
 		$groups = array();
@@ -64,38 +64,42 @@ class ZendAfi_View_Helper_TagModelTable extends Zend_View_Helper_HtmlElement {
 		}
 
 
-		$rows = $this->renderGroupsAsTableRows($groups, $attribs, $actions);
+		$rows = $this->renderGroupsAsTableRows($groups, $attribs, $actions, $callbacks);
 		return '<tbody>'.$rows.'</tbody>';
 	}
 
 
-	public function renderGroupsAsTableRows($groups, $attribs, $actions) {
+	public function renderGroupsAsTableRows($groups, $attribs, $actions, $callbacks) {
 		$rows = '';
 
 		foreach ($groups as $name => $groupModels) {
 			if ('no_group' != $name && '' != $name)
 				$rows .= '<tr><td style="background-color:#888;color:white;font-size:120%;padding:2px 10px;font-weight:bold;" colspan="' . $this->_cols_count . '">' . $this->view->escape($name) . '</td></tr>';
 
-			$rows .= $this->renderModelsAsTableRows($groupModels, $attribs, $actions);
+			$rows .= $this->renderModelsAsTableRows($groupModels, $attribs, $actions, $callbacks);
 		}
 
 		return $rows;
 	}
 
 
-	public function renderModelsAsTableRows($groupModels, $attribs, $actions) {
+	public function renderModelsAsTableRows($groupModels, $attribs, $actions, $callbacks) {
 		$rows = '';
 		foreach ($groupModels as $model)
-			$rows .= $this->renderModelAsTableRow($model, $attribs, $actions);
+			$rows .= $this->renderModelAsTableRow($model, $attribs, $actions, $callbacks);
 		return $rows;
 	}
 	
 
-	public function renderModelAsTableRow($model, $attribs, $actions) {
+	public function renderModelAsTableRow($model, $attribs, $actions, $callbacks) {
 		$cols = '';
 
-		foreach ($attribs as $attrib)
-			$cols .= '<td>'.$this->view->escape($model->callGetterByAttributeName($attrib)).'</td>';
+		$default_callback = function ($value) {return $this->view->escape($value);};
+		
+		foreach ($attribs as $attrib) {
+			$callback = (array_key_exists($attrib, $callbacks)) ? $callbacks[$attrib] : $default_callback;
+			$cols .= '<td>' . $callback($model->callGetterByAttributeName($attrib)) . '</td>';
+		}
 
 		$row = '<tr>'.$cols.'<td>';
 		if ($this->_hasActions)