i think the problem is we are trying hard to make the Base class implement the interface methods where in fact the objective is to just house basic methods. Almost like a trait but not a trait and we just extend two things for the implementations. Is that better?