Refactored classes in to lesser files. Updated sequence of events.