OOP for readabiltiy, bugtracking and extensibility