Thank yeah I see what you mean, if object is very far I do want to focus and zoom but if object is close enough I don't camera to move closer or further, so I think I will have to implement a bit of extra logic using the functions you suggested, thanks!
Actually what I want to happen ideally is to be able to zoom in and out of object without losing the focus (we have another thread discussing it) but I have not worked out acceptable solution yet (See our discussion in the OrbitDemo thread), so this is my intermediate solution right now