Duda sobre manejo adecuado de capas

Buenas tardes, mi duda es sobre la adecuada administración del código de acuerdo al modelo MVC que sigue yii.

En este momento tengo el siguiente código en el controlador, pero si entendí claramente cómo se estructura el código en el framework, me da la impresión de que debería moverlo al modelo, la cuestión es que no sé cómo :-[ si alguien con más experiencia (dado que yo recién estoy aprendiendo sobre este grandioso framework) me pudiese dar algún consejo o tip de cómo hacerlo se lo agradecería eternamente gracias de antemano por su tiempo y atención.





//código para mostrar la vista en el controlador

public function actionLista(){

	

		$id = new Usuario;

		

		$criterio_busqueda = new CDbCriteria;

		$criterio_busqueda->select = 'pkUsuario';

		$criterio_busqueda->condition = 'nombre = :nombre';

		$criterio_busqueda->params = array(':nombre'=>Yii::app()->user->getState('usuario'));

		

		$id = Usuario::model()->find($criterio_busqueda);		

		

		$lista_amigos = new CDbCriteria;

		$lista_amigos->select = 'nombre, apellido1, apellido2';

		$lista_amigos->distinct = true;

		$lista_amigos->join = 'INNER JOIN tbl_amigo_por_usuario ON fkUsuario = :pk';

		$lista_amigos->condition = 'pkUsuario != fkUsuario';

		$lista_amigos->params = array(':pk'=>$id->pkUsuario);

		

		$id = Usuario::model()->findAll($lista_amigos);

		

		$datos =  new CActiveDataProvider('Usuario', array(

                                                                 'criteria'=>$lista_amigos,

								 'pagination'=>array(

                                                                                    'pageSize'=>5,

					                                            ),

								   ) 

                                                 );


		$this->render('lista', array('origen_datos'=>$datos));

		

	}