use lombok chained accessors instead of wither methods
add handler and associated classes for generating service keys