Wraps a RemoteObserver to behave like a regular
Observer (which does not throw any RemoteException)
so we can directly use the inherited Observable
methods.
The Player makes a move by reading a line of text from
the input stream, and interpreting it using chess notation,
i.e., column is 'a' through 'c' and row is
'1' through '3'.