Fleshed out basic step system
Cleanup of style and testing