we should generate accessors for internal/public properties
a property can be public in a private class, we should be careful with this
the accessor should have the same visibility than the property
the user should be able to override the visibility of the whole accessors, to force them being internal for example, to avoid leaks into the public API
internal
for example, to avoid leaks into the public API