New implementation separated from older one that used Java reflection. Old implementation runs fine, all test cases pass. New implementation coming up but still with rough edges with serialization of singletons, enumerations etc.