Tidying + adding CanControl to new ILockController interface (ChainableLockControllerBase implementations violate LSP otherwise).