###1. App_flowsXXX collection:
{ _id: md5('e1' + 'e2' + 'e3' + 'e4'), e: ['e1', 'e2', 'e3', 'e4'], c: {2015: 22, ...} }
Each possible flow in an app (including rudiculous flows of 200 events) gets and ID which is md5 of all event keys joined with some separator. This way we allow traverse backwards automatically. For example, if we have flow document with 4 events, we can easily, just by calculating MD5 of 3 events get one step back.