Added template/base implementation for all states. Must go back and add specific functionality later.