Fixing issue where parent states IEnter's are called out of order - Closes #14. Fixing issue where parent state IEnter's were called even if we are already in that parent state - Closes #15