Added optional interfaces on all unrequired methods and interfaces. Closes #109