A.0 B.1 C.n D.n+1
A.px(a) B.px[a] C.px->a D.px.a
A.WM_COMMAND B.UPDATE C.ON_UPDATE_COMMAND_UI D.INVALIDATE