Do these really have to be mutable? They don't really seem to be caches since you can call 'getBackPoint()' at any time and get some value which hasn't been set yet.