Changed visibility on some fields.
Renamed delegate to target to match other classes.
Added some javadocs.