The only confusing part of this approach is the event object that gets dispatched. For ImageLoader you need to look for event.image, and for OBJLoader you need to look for event.object. Maybe it should be consistent for all and just be event.content?