Refactored block registration into FactoryBlock class