Fix overwritting construct objects

This forces the class var to null if the object is already passed via a
construct param. This stops strange scenarios wher you can pass a class
instantiated with some variables, but it gets replaced with an
attempted class with no construct vars.