About your interface
* returns Output Redstone State at Side
* Note that setRedstone checks if there is a Difference between the old and the new Setting before consuming any Energy
public int getOutputRedstone(int aSide);
I think you should include some sort of a boolean method to determine if a side can output, in this case if this method is called on a side that can output a redstone signal, and it returns 0, there is no way to differentiate between it and a side that can not output a redstone signal for any possible reason you would need to know that.