[TASK] Factor out generic methods into abstract command controller so

 other extensions can use them.