major rewrite of main activity. Decoupling logic to controller - view classes for each fragment with heavy usage of interfaces. Still needs some work.