Command pattern.