Instantiate typed vars immediately upon
Create requirement to use appropriately classed properties upon initialization. Namely, new Resource({anotherResource: {}}) will no longer work. Clean up internal typed accessors to use monkey patches instead of endless conditionals.