Yes, code re-use and modularity are important. But linking two components like this means that the content format for a hot graphic has to be the same as that for a narrative (and their behaviours). If I need to change the narrative in future then I can't change its data input because I might have lots of hotgraphic objects that need it to be in a specific form.