Converted the PushProperty return type to a marker interface so it's clearer that it's an IDisposable. Cleaned up some of the comments.