public static function actsAs($name, $config = [], $entry = null) {
		$self = static::_object();

		$class = Libraries::locate('behavior', $name);

		if ($config === true) {
			if (isset($self->_behaviors[$class])) {
				return $self->_behaviors[$class]->config($entry);
			}
			throw new RuntimeException("Unexisting Behavior named `{$class}`.");
		}
		if ($config === false) {
			unset($self->_behaviors[$class]);
			return true;
		}

		$model = get_called_class();
		if (isset($self->_behaviors[$class])) {
			$self->_behaviors[$class]->config($config + compact('model'));
			return true;
		} else {
			$object = new $class($config + compact('model'));
			if ($object) {
				$self->_behaviors[$class] = $object;
				return true;
			}
		}
		return false;
	}