I have just done something similar but for a hasMany, I’ve put up the basics here in case it helps anyone else out: Example of manual relationship tracking with "virtual" vars to allow for rollback of relationships in ember data · GitHub
I’m definitely interested to see if there are better solutions out there.
@workmanw: That “BufferProxy” looks interesting, have you run into any issues with it?