implement update_action and change the context menu's upload to update

Well, it has provided better interface but if you want to use the common part of them, you will lose designed interfaces as what it was before.

Maybe a bit of template can help.