Because Meta Programming must be easy.

Reflection Providers

Basically, all dirty work is handled by a collection of interfaces we call Reflection Providers. These are the real Mirror's core. Today we only have net.vidageek.mirror.provider.java.PureJavaReflectionProvider, that uses only Java Reflection API. But you can just implement your own net.vidageek.mirror.provider.ReflectionProvider to give you more control over what's happening. Actually, net.vidageek.mirror.provider.ReflectionProvider is just a wrapper for more specific interfaces: But how do you make Mirror use your Reflection Provider? Take a look at Extension -> Configuration.