Add HalfBlock, HalfBlockDecorator and respective tests.