Changing class method to instance
Fixing Mac compatibility issue
Improving error formatter

- NSCoding
- NSCopying
- description
- better string for error detail