Command pattern

This PR aims to provide a hands-on coding experience in java implementing command pattern.