Expiration filter

Should keep this final, and pass this in via the constructor.  This is just a safety issue.  

If you have multiple clients, and one of them changes the type registry you would need to do additional things to make sure that all of them are guaranteeed the update without affecting calls that have already been made.  For example, making the variable volatile, or an AtomicReference.  Personally, I just think it is just easier to leave it final and set it only one place (in the constructor).