Screamer, по поводу разделения на файлы, здесь можно смотреть в сторону структурирования Java - "каждый класс в отдельном файле, каждый пакет - отдельный каталог", это очень удобно и просто, но в любом деле нужно знать меру. Такой подход позволяет быстро найти нужный код, а так же делает систему более строгой и упрощает работу автозагрузчику, и я придерживаюсь этого подхода в моей платформе, но я не стал выносить обработчик ошибок и автозагрузчик в отдельные файлы по двум причинам:
1. Их так будет дале проще найти;
2. Никаких побочных эффектов и неудобства это вызвать не может в принципе (побочные эффекты возникают у самого автозагрузчика, потому где он находится сам ему не важно).
Потому не стал усложнять, но лучше конечно придерживаться стандарта.
По поводу сепараторов, а почему бы и нет? ) / читают и правильно воспринимают все современные ОС.