use Decent Exposure to avoid copying instance variables to view object
Action Callback Class
inline callback method