Command pattern base