implement InvokePattern
introduce Toggle pattern
can get the Toggle state