better state changes/listeners
works to pull image data objects (src, description, id), render templates