Added basic analytics reporting, and wrapped the three tweet models into one wrapper that is passed among components. TODO: add a seperate anayltics model into the wrapper, instead of recording info directly into wrapper