Agent

- [ ] Agent have code
    - [ ] cannot assign to any other agent
    - [ ] cannot be used outside of agent
    - [ ] cannot used to communicate with other agent
- [ ] Agent have domain name
    - [ ] can be used to communicate with other agent
    - [ ] it created at the registration time