Another possibility would be to subclass ConnectionState with a Writer specific implementation that overrides the necessary method along with specifying which ConnectionState class to initialize for the Reader and Writer NSQDConnection classes.