Make keyword build on hashmap instead of js object
Add doc getter
Skip sprintf dependency
Add first macro impl