Collapse the background package and break out the nested interfaces on Background.
Remove some unneeded stuff in the javadoc example.
Javadoc improvements.
Simplified.
Equals and hashcode impls of various registries.
Type fix.
Optimise for registries of only one entry.
Fix type compatibility check param order.