Separated the Register types and implementation
Immediate values are now value classes
Revert "Immediate values are now value classes"

This reverts commit 56cbe680661017062b7cf878021580bd9997ac88.
Immediate values classes