Split internal functions into the ones who write boot (BootContextCommand) and the ones that doesn't (ContextCommand)