Abstract the Source classes
Performance optimizations and more info