fixed caching bug and related issues


I've also noticed that in CB code it is cache_image=False  so I've reset the GenericImage default's to False. ;)

It looks like it's working well now.


What does this syntax mean? Aren't 

``self._channel_data = []``

and 

``self._channel_data[:] = []``

equivalent, except that your version makes a superfluous copy of the list before overriding it?