Added initial setters for name, args and both counts for #7
Refactored the Execute func to not deal with any type conversion logic and moved that into main as part of #7 and #8
Fixed tests to conform to new API as part of #7 and #8
Added docblocks
Updated example which fixes #7 and fixes #8
Merge pull request #9 from GroundSix/api-refactor

Api refactor