Removed all shapes from drawables, now using them programmatically to avoid duplcation for each theme. More flexible classes. All styles has been removed from the styles.xml file and putted in the other xml files to allow easy maintenance. General utils used across all the app. All common classes are now created in the MainActivity and then accessed by the BaseFragment to avoid recreation of objects on each onCreate() or onResume(). Receivers like BluetoothenableReceiver is registered on the Activity to improve performance instead of each fragment. Added more options. Removed usage of Buttonfloat from MaterialDesignLibrary due to very bad performance when drawing causing RippleView to have low framerate. TODO: Refactor controller activity and dependencies.