routing module
move to subpackage
rename to be a reflection proxy
no need for method level methods
generic throws
use the constant
catch throwable instead of exception
catch throwable instead of exceptions
verify methods were called
use generics to resrict object types
proxy that uses methodhandles