Allow special characters including $ signs

Addresses #36
Merge pull request #37 from brightmachine/bugs/special-chars-36

Allow special characters including $ signs
Revert fix for #26 as it is a breaking change
Allow extensions to override methods
Merge pull request #40 from antonioribeiro/allowextension

Allow extensions to override methods and the property