This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
In general, try not to create classes that are overcomplicated. Implementing several interfaces will bring lots of public functions; the delegate methods will mean lots of code (even though generated). Check whether you can simplify the design, whether there's no way to avoid this class taking on so much functionality/responsibility.