Created Axis abstract class with methods needed to do rotation around possible curved axis