Add declarative obfuscation

Fix #24