public function parse($path)
    {
        $rawDocument = $this->loadDocument($path);
        list($rawMetadata, $rawContent) = $this->splitDocument($rawDocument);
        return $this->createDocument($rawDocument, $rawMetadata, $rawContent);
    }