The ApplicationProperties object takes/returns a map of the keys+values. The keys are only allowed to be strings by the protocol spec, however the signatures are currently using a raw Map type. We should use Map<String,Object> to reflect the actual scenario and typical existing usage (with casting).
This change will be binary compatible due to generic type erasure at compilation, but can introduce some trivial source incompatibility depending on particular casting etc done by using code. The improvement seems worth such trivial changes where needed during upgrade, and adapting source to work with old and new versions is similarly simple enough if required.