Half refactor: Moving out blockers under the Blocker interface and
reducing the functionality of BlockerManager