Since we initialize a `Topic` from a hashed representation of `TopicParser`, would it make sense to combine them? Maybe something like `Topic.parse(path, category_slug)`. If this doesn't make sense, maybe then just let `TopicParser` return a `Topic` instance instead of having to do that externally.