Refactoring, initial pass at Sprout parser.
Signed-off-by: Chris Sanders <zidane@outlook.com>