implement: keep remote exception's state
rename: Component -> Background (give up to try to use Greenlet subclass)