It's ok -- the frame decoder is private to this object and only interacts with the delegate on dispatch. I may consider moving the delegate to initialize with a setter later on when I remove the frame codec entirely.