public function detachSubject($event, $key)
    {
        Assertion::notEmptyKey($this->subjects, $event, 'Provided event does not exist.');
        Assertion::notEmptyKey($this->subjects[$event], $key, 'Subject to be detached does not exist.');

        unset($this->subjects[$event][$key]);
    }