Pseudo enum constants
Small rewrite to cleanup code
Generalize Register()
Merge pull request #1 from CrimsonVoid/v2

V2