Like you mentioned, I do worry about other applications or libraries defining a method on models called `persisted`, which would conflict. 

I also think the name `persisted` or `isPersisted` is misleading, because it really represents whether or not a model has been persisted locally but not yet persisted on the server. Maybe a name that suggests that the model has been saved locally but not remotely would be better. Maybe `hasTempId`?