User-submittable actions - reusable view-model directive