Add initial state feature

Add the ability to set the initial state of the machine. Adding this also allows an easy way to handle what happens when they wrap an object with a `nil` state.