Why do we need the user context here?  I see that the delete call requires it, but deleteRow ignores the user parameter passed to it.  This would be a great time to clean that up.