Packaging cleanup and explicit enums

Merging in another of the forks