public function __sleep()
{
$vars = [];
$reflection = new \ReflectionClass($this);
$properties = $reflection->getDefaultProperties();
$static = array_keys($reflection->getStaticProperties());
$blacklist = ['element', 'jarves'];
foreach ($properties as $property => $val) {
if ($reflection->getProperty($property) && $reflection->getProperty($property)->isPrivate()) {
continue;
}
if (in_array($property, $static)) {
continue;
}
if (!in_array($property, $blacklist)) {
$vars[] = $property;
}
}
return $vars;
}