Added test cases for KeyBuffer, which necessitated introduction 
of interfaces, and introduction of classes for retrieval of singletons
that can be injected with mocks for testing.
Implement group command that can act on all the selected game
pieces instead of sending each game piece a command.