Refactoring the file block system to expose a BaseBlock class for a more generic block class that can be used outside the main persistence system
Adding missing license header