Refactor bloodhound into more granular components.