More work on interfaces
Merge pull request #49 from mailgun/sasha/core

More work on interfaces