Figured out a way to provide modularization of Chess engine and name spacing, while minimizing code duplication required