Refactor LD.define + Allow subclass to override properties