class DefaultActorThread implements ActorThread {

    @NonNull
    @Override
    public <T> ActorRef<T> bind(@NonNull Class<T> cls, @NonNull T impl) {
        MessageSenderProxy<T> postman = new MessageSenderProxy<>(mFailureHandler, impl);
        T instance = mProxyFactory.newProxy(cls, postman);
        return new ActorRefImpl<>(instance);
    }

      DefaultActorThread(@NonNull ProxyFactory proxyFactory, @NonNull FailureHandler failureHandler,
                                     @NonNull String threadName);
      DefaultActorThread(@NonNull ProxyFactory proxyFactory,
                                     @NonNull FailureHandler failureHandler, @NonNull String threadName, long stopDelay);
    @VisibleForTesting  DefaultActorThread(@NonNull ThreadFactory threadFactory, @NonNull ProxyFactory proxyFactory,
                                     @NonNull FailureHandler failureHandler, @NonNull String threadName, long stopDelay);

}