Family Builder Pattern

This makes code for Family.getFor a lot more readable and less difficult to write.
If every time you call `one()`, `all()`, or `exclude()` we call `reset()` internally, how would this work? Am I missing something?