Add MSIConvertable

Allows custom types to be converted to an MSI for use in Map
Fix set logic bug
Add value accessor