Personally, I don't see a great need to make deviceToken immutable. The use of LBDevice object on the client side is very limited.