More work on splitting block functionality out into traits.