Custom exceptions
Current exception framework is missing cases for specific raising conditions - most of them just use RuntimeErrorLogged
Refactor for it should extract the logging component from the exception type and create additional exception types for clarity and more granular control