Port: Some abstract codec classes