Changed how BlockAdapter works.  ModBlock is now a pure virtual trait and BlockAdapter implements the default implementation.  Traits derived from ModBlock only need to implement the relevant portions to that block.