Kohana newbie: setting a layout view and variables for layout in before()
Your code is violating the "Don't Repeat Yourself" (DRY) Principle, which is why it seems like you have "too many" $this-&gt;* lines. As the name implies, your code should not repeat. Usually, in an instance such as this, I would say to use the constructor and inject those values you need; However, I don't know for sure if the class you provided is also a factory, in which case you would use a wrapper method.

//non-factory method
public function __construct( $view, $text ) {
    $this-&gt;view-&gt;content = View::factory( $view );
    $this-&gt;view-&gt;content-&gt;text = $text;
    $this-&gt;response-&gt;body( $this-&gt;view );
}

//no other methods need, simply inject while instantiating

//factory method
public function render( $view, $text ) {
    $this-&gt;view-&gt;content = View::factory( $view );
    $this-&gt;view-&gt;content-&gt;text = $text;
    $this-&gt;response-&gt;body( $this-&gt;view );
}

public function action_index() {
    $this-&gt;render( 'index', 'some index text' );
}