Begin implementing Command Object Pattern