extract action_runner class
document how periods work