Finally got the object-style and interface-style methods working
Wrote a few unit tests