minor refactoring
use double colon syntax for custom properties
use internal properties directly instead of calling a getter/setter
numeric properties support for events to access custom args
fix canel-cased properies getter
add style hook