Use cleaner attribute assignment

instead of __annotations__ dict.
Add some comments