Merge tag '0.0.3' into dev

v0.0.3 release
 * allowed `Machine#currentState()` and `Machine#initialState()` to act as getters
big ole rewrite of the internals, fixing context problems (not entirely backwards compatible)
doing some api cleanup, rewriting readme with better example
using remote for noop
version bump + changelog update
Merge branch 'release/0.1.0'