I'm not sure isolating the DistInterceptor from the L1 concept is worth all that trouble. But if it is, I think it's worth implementing RemoteValueRetrievedListener in a separate class as well.