But then TextFlowStreamDAO would be named TextFlowStreamingQueryResultsDAO, by rights (you're supposed to name subclasses after their parents).  But I will rename TextFlowStreamDAO to TextFlowStreamingDAO.

StreamingDAO is an alternative type of DAO, which then has two different instances (so far); it's not an instance of a DAO.  But I've made it abstract; perhaps that will help.