TinyMVC Model / Plugin как реализовать?

Недавно я начал работать с TinyMVC, написал простую модель меню, и у меня мало вопросов для тех, кто ее использует .. или раньше. 1. Для следующего кода я должен хранить его как модель или плагин? 2. Как мне реализовать его в представлении и использовать его на каждой странице, которая требуется, не нарушая идее mvc и не переписывая снова и снова для каждого контроллера? 3. Какие-либо улучшения в коде? 4. Нужны ли таблицы mysql?

Код здесь :

<?php class Menu_Model extends TinyMVC_Model { public function __construct() { parent::__construct(); } public function listMenu() { return $this->db->query_all("SELECT * FROM menu_links WHERE is_deleted = 0 ORDER BY position"); } public function listCategorys($menuLinkId) { return $this->db->query_all("SELECT * FROM menu_subcategorys WHERE menuLinkId = ? AND is_deleted = 0 ORDER BY position", array($menuLinkId)); } public function buildMenu() { $this->listMenu = $this->listMenu(); foreach($this->listMenu as $this->listMenuKey => $this->listMenuValue) { $this->listCategorys = $this->listCategorys($this->listMenuValue['menuLinkId']); if(!empty($this->listCategorys)) $this->listMenu[$this->listMenuKey]['child'] = $this->listCategorys; } return $this->listMenu; } }