add invoke command handler abstract