Andrew,
No, you are encouraged to think of better ways than arrays of Spaces to internally represent your Board. But as you said, make sure that you comply to the interface, and return Spaces when needed. But I stress that all of your code can do anything it wants, as long as it ascribes to the abtract interface.
Mike |