How can I use an array modifier to create individually manipulatable objects? I often use an array modifier (or two) to quickly create a grid of identical or symmetric objects, which can be really useful when modeling all sorts of man-made objects. Once I've made the grid, though, is there any way for me to make it so that each of the objects are individually manipulatable?

Simply applying the modifier does not seem to be the full answer, since it still only allows me to select the grid-of-objects as a whole in object mode. Is there any way to separate them so I work with them each individually?
Apply the modifier to make the data real
Enter edit mode on the object and press P > Separate by loose parts
Select all separated objects and press Shift+Ctrl+Alt+C > Origin to Geometry


This will make each piece an individual object with the origin located at the origin of the original object. Now you can manipulate them as you wish.

Note: Original object has to be one mesh. If original object consists from more parts (like Monkey head + 2eyes) you will have to connect them together by simple edge.