There are several reasons. For a reason, you can download the view and return it, and not directly:
$content = $this->load->view('email-message', array('name' => 'Pockata'), TRUE);
TRUE , . , :
ob_start();
$this->load->view('email-message', array('name' => 'Pockata'));
$content = ob_get_clean();
, , $this->output->set_content($content), - ( , , , ), ( ) .
, echo print ( Wordpress ). echo $class->method();, , , - .