Drastically refactored generic actions.