Intoducing Invoke Command pattern