added profile setting APIs refs #192

This doesn't define inner method.
It is better to use `add = lambda{|map,key| ...}` or private method.