public function getDefinitions($key = null)
    {
        if (!is_null($key)) {
            return isset($this->definitions[$key]) ? $this->definitions[$key] : null;
        }

        return !empty($this->definitions) ? $this->definitions : [];
    }