EDIT: Ok, my question/explanation doesn't seem to be clear enough, so I'll try to restate my goal.
The end result I'm trying to achieve is to hook an empty or bone to each separated face, BUT using the face normal orientation so that the faces can be animated by each hooked empty/bone and the rotation will occur with respect to each face's normal.
I'm trying to find a way to rotate faces of a mesh on their normals. Currently it seems one needs to separate the faces to individual objects in order to control rotation from an empty/modifier/constraint. However once the faces are separated, and Transform>Origin to Geometry is called, the orientation is not based on the original normals of the mesh face.
How does one copy the original normal orientation of the mesh face to the separated object data?
Is there another way to control rotation of mesh faces (assuming the faces have first been separated within the mesh object)?
I should also mention that I'm wondering about a non-scripted solution, as I could probably figure out a script to do it, but was looking for simpler solution first. Feel free to post script solutions though if you want.
Ideally, a solution that allows mesh face rotation on the individual normals based on an external input without separating faces to objects would be preferable.