WEB-2930: Made type a mandatory property

Hey @kevinhodges & @hpoom I've made the required changes for WEB-2930. Can I get a code review please.
I did consider that... I thought we were in favor of using isUndefined for these sort of checks though?