Use ProjectMap / UnmapUnproject rather than project, map, unmap seperately.
Remove code from CameraModelInterface. Only use seperate Map / Unmap (without Project / Unproject) where absolutely needed.