Returns true if the command can be run on the given state.
Future<bool> precondition(CommandContext<State, System> context, State state);