#4 Method implementation and tests.

Also includes refactoring to split arbitrary decls.