Make Invoker support non-public methods (#12959)

Change-Id: Ie449489f3c9222bbe4a4221841c4ebc20693f969
Implement @OnStateChange (#12958)

Change-Id: I8ea2b781fab42458bf55a751c1229e391365e965