So, I was thinking of modifying how this all worked so that both the image editor and project editor actually expected the callback only and handled themselves how they wanted to use the information. This is probably a better, or at least less confusing way to read the code and always have a callback that is used.