Added assertException
Removed all usages of "__elements"
Removed unnecessary condition
Removed calls to wrapped methods get/set for performance
Removed direct calls to ___get or ___set
Removed last direct call to wrapped get()