Added API support for secondary classes
Changed the way restriction maps are stored.

Also using generics to keep API consistency
IDRestrictable interface is no longer necessary.