I often used a "state"-variable with an explicit name, not hided in $state. It is a little bit more work, but also immediately clear what is happening. In the model I then have a property:
protected $something_id;
with a setter for that variable:
public function setSomething_id($id)
{
$this->something_id = (int) $id;
}
and a getter for the something-object:
public function getSomething()
{
// Use $this->something_id to retrieve a something-object
// return $something
}
In the controller I would then get something like:
public function edit()
{
$input = JFactory::getApplication()->input;
// Get the model
$model = $this->getModel('mouse');
// Set the state of the model
$id = $input->getInt('id');
$model->setSomething_id($id);
// Get the view
$viewName= $input->get('view','edit');
$view = $this->getView($viewName,"html");
// Set the right model to the view
$view->setModel($model);
$view->display();
}
Now I can get('Something') in the view.
Using the $state-variable of the model is more generic, so you can make a generic view in which you always retrieve the state. Sometimes I prefer a little bit more verbosity: if it clarifies the purpose of what I'm doing.