Remove duplicate upload / fail callbacks. Fire the log and trigger events for uploads regardless of whether the functions exist. Use bind instead of creating an anonymous function in the always callbacks.