Activation functions moved to separate classes
to keep the simple interface, the ActivationFunction is protected and won't be used by the user