public function persist(PersistableInterface $persistable, $remember = false)
{
if ($this->single) {
$this->flush($persistable);
}
$code = $persistable->generatePersistenceCode();
$this->session->put($code);
if ($remember === true) {
$this->cookie->put($code);
}
$persistence = $this->createModel();
$persistence->{$persistable->getPersistableKey()} = $persistable->getPersistableId();
$persistence->code = $code;
return $persistence->save();
}