Moved listeners around to hopefully improve performance. Also fixed the fieldsEqual in Task.