A Javascript Generic Object giving custom attribute types, with builder, setters,  getters, validations and casters.