another refactoring, use more of Aura.Marshal