Re-structuring delegate. More comment. Docs