public function __construct(Hail $hail = null, DBInterface $db = null, array $channels = [])
{
$config = State::instance();
if (empty($hail)) {
$this->hail = $config->hail;
} else {
$this->hail = $hail;
}
if (empty($db)) {
$db = \Airship\get_database();
}
$this->db = $db;
foreach ($channels as $ch => $config) {
$this->channelCache[$ch] = new Channel($this, $ch, $config);
}
if (!self::$continuumLogger) {
self::$continuumLogger = new Log($this->db, 'keyggdrasil');
}
}