Renamed Reference to ReferenceField.
More refactoring to make better code reuse.
Unifying implementation.
More internal refactoring.
Bugfix.
Added generated field.
More tests for generated fields and fetching all target fields.
Allow arbitrary selector to be returned from generator.
Optimization.
Updated documentation.