Tighten initializers
Add flexible setters