Neither is the function Module() observable, except through the constructor name property which differs from the spec. 

Is this the main issue you have with this patch? I'm fine with one ambiguous name if we can fix the rest.