Good Features of Forerunners Pure Object-orientedness Garbage Collection Dynamic Loading Mix-in Singleton Methods Exception Handling Threads Iterators Reflection