Refactor accessors

Predefine the accessors methods as a mixing, instead of creating them on runtime per class while inherit only the needed methods for the class.