Today, I started to add our access control system to the project so that the grid could return whether or not a cell was, say, read-only after the access control checks. Then I stopped, because the access control system isn't accessible (no pun intended) in the DLL that I'm working on.
So the next thing I have to do is to hit the access control system with a little ballpeen hammer, breaking it into the appropriate fragments to integrate with the various systems that it's trying to control access to.
What fun!