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.