class IFingerSetterService(Interface): def setUser(user, status): """Set the user's status to something""" # Advantages of latest version @implementer(IFingerService, IFingerSetterService) class MemoryFingerService(service.Service): def __init__(self, users): self.users = users def getUser(self, user): return defer.succeed(self.users.get(user, b"No such user")) def getUsers(self): return defer.succeed(list(self.users.keys())) def setUser(self, user, status): self.users[user] = status f = MemoryFingerService({b'moshez': b'Happy and well'}) serviceCollection = service.IServiceCollection(application) strports.service("tcp:1079:interface=127.0.0.1", IFingerSetterFactory(f) ).setServiceParent(serviceCollection)