Enabled custom user-definition on many elements. Addresses issues #9 and #3.