I am not sure exactly what you are trying to do, but if you want to use CA on other properties that is not an issue. You just need to register appropriate actions for the key path. There is an example of doing this in Apple's Core Animation documentaation, using CAAction. Specifically you implement actionForLayer:forKey: to configure the default animation behaviour of that key, and if you want to make the property animation implicitly you implement runActionForKey:object:arguments: .
As for animating objects other than CALayers, I really don't understand. Layers are the root visual entity in Core Animation. Additionally, on the iPhone every single UIView is backed on a layer, I do not believe there is anything on the iPhone's screen that is not in a layer, so I don't understand why you are worried about using animation on something that is not a CALayer.