Bug fixes, updates

ENCODERecord objects weren't being created correctly. I've fixed that
and updated the attributes a bit to make a few things private. It's
easier to expose them as public later.