Moved upload handler from controller to a listener; added an event for Upload