Separation of subscriber state from protocol