Unicode refactor

Refactor to use unicode inside the framework

Following the rules:

Decode early
Unicode everywhere
Encode late