partial review for const and final

I've been unable to run tests, so I'd love someone to take a look there.
@ussuri Yes, I am with you on that point. My actual question was that replacing `this.canIgnore = canIgnore;` with `S({bool canIgnore: false})` will not set the value (as you mentioned before) and should be replaced by  `S(this.canIgnore: false)`.