Why would you simply copy-paste my proxy implementation? You don't need any of those methods. I only provided you with an example of how to use an interface for your proxy, I didn't tell "hey, here is my code, copy all of it!"   You have never instantinated any of your blocks. Your array that you pass to the register method is an array of nulls. Instantinate your blocks before registering them. It is very obvious. But don't use static initializers. Instantinate them directly in the r