Large refactor. Moving towards object oriented and simple views for easy management.