Update to add Blocker protocol

Breaking change for the :blockers field.  Used to be a function of one
arg that returned a list of blockers.  Now it is a list of objects
that extend the Blocker protocol.