Pull Request - Target Selection and UI State Machine

This pull request will complete #39.