improving API

- one method (instead of set_)
- if no arg is passed it functions as getter
- if arg is passed it functions as setter
- passed type is checked and an error thrown if it's invalid
- adding harmony scope test