You don't need to complicate things that much for something like this.
Just add another parameter to each of your methods, for example $action
:
public function products($action = false, $page = 0, $items = NULL, $subview = NULL) {
switch($action) {
case 'edit':
// edit stuff here
break;
case 'something else':
// other stuff
break;
}
// etc...
}