improved performance by creating a $watch on changes to array items