See this is the part I am unfamiliar with in regards to best practices.  Normally I would think we wouldn't want to have a sub module be a dependency for the parent, optional or not.  Unfortunately @tristantarrant would be better suited to weigh in on the change.