Fix error when initializing TSMessage subclasses

Overriding the properties for each `TSMessage` subclass didn't work as expected.

Now we explicitly create _ivars_ for each property we want the subclass to access and use it internally to get or set the value.

Also, the `state` was kept as a pointer but there is no real problem in copying an `int` value, besides, it's easier to use (no need to dereference it).