Fix NPE
Rename
Delete FIXME
Override toString
Remove introduction optional
Update tests
Refactor the specification whole