changed the controller structure;
use a new class TaskList to manage task list (instead of ArrayList);
change most varible of ArrayList to List;
fix minor issue;