change Invoker interface

Request to AbstractRequest. This should not break BC beak in all
practical case.
use tilde operator for composer.json
remove unused property