Fix potential NullPointerException in SmartStringBuilder
Add isEmpty predicate to SmartStringBuilder
Add first automatic instance based listeners draft, fix several bugs