Adding new Exception for invocations of private methods

Currently Caller throws a MethodNotFound exception when a private methods is called on the SUS, which prompts method generation logic.

This change introduces a new MethodNotVisible exception for cases when a private method is invoked, which is similar to MethodNotFound but does not trigger the behaviour.