handle view model in listener with specific strategy