If you are like me, and you really love KnockoutJS, but hate that you can't tell which item is added or removed from an Observable array, then this is a solution for you (until they accept my pull request, then I'll recommend using them instead)