public Parser backgroundPhrase() {
        if (backgroundPhraseParser == null) {
           FutureParser future = scoped("backgroundPhrase");
           backgroundPhraseParser = future;
           future.setParser(
               sequence(
                   choice(
                       token("BACKGROUND-COLOR"),
                       token("BACKGROUND-COLOUR")
                   ),
                   optional(
                       token("IS")
                   ),
                   integer()
               )
           );
        }

        return backgroundPhraseParser;
    }