Some comments
- The block parameter is not being used and can be removed (even if it does not actually change the method signature). 
- Why return nil at the end of the method? Probably would be more useful to return self or the registered contracts.