removed unneeded property
major refactoring  - make API more consistent, and use integer keys that are generated by the system