Updated the AdamCommand trait to make non-commandline use easier

This commit separate the commandline processing concerns from the
AdamCommands. This allows command to be used more easily as
part of a library or for testing.