Move this Abstract consumer class and have methods to initialize and update in abstract class