exposing PyIO so subclasses can provide custom behavior

needed because CCP has custom subclasses to handle yaml serialization