change Command to abstract class and add abstract method execute()
Merge branch 'master' into pattern_refactor