Added input support to player class
Created abstract output class