Separate the functionality from get_media() into a new method called set_media().  This will give developers a little more flexibility if they want to overwrite the class or access the object directly instead of just calling the wrapper function.

Plus, a little extra documentation.
Don't use array_shift() a second time.  Documentation updates.