Refactored BaseCell to a protocol.