diff --git a/obmcutil b/obmcutil
index 26fd760..ed5dbc6 100644
--- a/obmcutil
+++ b/obmcutil
@@ -5,7 +5,7 @@
 OPTS="bmcstate,bootprogress,chassisoff,chassison,chassisstate,hoststate,\
 power,poweroff,poweron,state,status"
 
-USAGE="Usage: obmcutil [-h]
+USAGE="Usage: obmcutil [-h] [--wait]
                 {$OPTS}"
 
 INTERFACE_ROOT=xyz.openbmc_project
@@ -14,6 +14,23 @@
 OBJECT_ROOT=/xyz/openbmc_project
 STATE_OBJECT=$OBJECT_ROOT/state
 
+## NOTE: The following global variables are used only in the run_timeout cmd.
+## By declaring these globally instead of passing them through the
+## intermediary functions, which may not be "best practice", the readability
+## and cleanliness of the code should at least be increased.
+
+# The command passed in to be executed (e.g. poweron/off, status, etc.)
+# This will be be used in some instances of error reporting
+G_ORIG_CMD=
+# The state an interface should be in after executing the requested command.
+G_REQUESTED_STATE=
+# The query to run during a poweron/off or chassison/off to check that
+# the requested state (G_REQUESTED_STATE) of the interface has been reached.
+G_QUERY=
+# Wait the set period of time for state transitions to be successful before
+# continuing on with the program or reporting an error if timeout reached.
+G_WAIT=
+
 print_help ()
 {
     echo "$USAGE"
@@ -23,17 +40,63 @@
     echo ""
     echo "optional arguments:"
     echo "  -h, --help          show this help message and exit"
+    echo "  -w, --wait          block until state transition succeeds or fails"
     exit 0
 }
 
+run_timeout ()
+{
+    local timeout="$1"; shift
+    local cmd="$@"
+
+    $cmd
+
+    # Run a background query for the transition to the expected state
+    # This will be killed if the transition doesn't succeed within
+    # a timeout period.
+    (
+        while ! grep -q $G_REQUESTED_STATE <<< $(handle_cmd $G_QUERY) ; do
+            sleep 1
+        done
+    ) &
+    child=$!
+
+    # Could be bad if process is killed before 'timeout' occurs if
+    # transition doesn't succeed.
+    trap -- "" SIGTERM
+
+    # Workaround for lack of 'timeout' command.
+    (
+        sleep $timeout
+        kill $child
+    ) > /dev/null 2>&1 &
+
+    if ! wait $child; then
+        echo "Unable to confirm '$G_ORIG_CMD' success" \
+        "within timeout period (${timeout}s)"
+    fi
+}
+
+run_cmd ()
+{
+    local cmd="$@";
+
+    if [ -n "$G_WAIT" ]; then
+        run_timeout $G_WAIT "$cmd"
+    else
+        $cmd
+    fi
+}
+
 set_property ()
 {
-    busctl set-property "$@"
+    run_cmd busctl set-property "$@"
 }
 
 get_property ()
 {
-    busctl get-property "$@"
+    G_WAIT=""
+    run_cmd busctl get-property "$@"
 }
 
 state_query ()
@@ -58,6 +121,8 @@
             INTERFACE=$STATE_INTERFACE.Chassis
             PROPERTY=RequestedPowerTransition
             VALUE=$INTERFACE.Transition.Off
+            G_REQUESTED_STATE=$INTERFACE.PowerState.Off
+            G_QUERY="chassisstate"
             set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
             ;;
         chassison)
@@ -66,6 +131,8 @@
             INTERFACE=$STATE_INTERFACE.Chassis
             PROPERTY=RequestedPowerTransition
             VALUE=$INTERFACE.Transition.On
+            G_REQUESTED_STATE=$INTERFACE.PowerState.On
+            G_QUERY="chassisstate"
             set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
             ;;
         poweroff)
@@ -74,6 +141,8 @@
             INTERFACE=$STATE_INTERFACE.Host
             PROPERTY=RequestedHostTransition
             VALUE=$INTERFACE.Transition.Off
+            G_REQUESTED_STATE=$INTERFACE.HostState.Off
+            G_QUERY="hoststate"
             set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
             ;;
         poweron)
@@ -82,6 +151,8 @@
             INTERFACE=$STATE_INTERFACE.Host
             PROPERTY=RequestedHostTransition
             VALUE=$INTERFACE.Transition.On
+            G_REQUESTED_STATE=$INTERFACE.HostState.Running
+            G_QUERY="hoststate"
             set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
             ;;
         bmcstate)
@@ -141,6 +212,10 @@
 
 for arg in "$@"; do
     case $arg in
+        -w|--wait)
+            G_WAIT=30
+            continue
+            ;;
         -h|--help)
             print_help
             ;;
@@ -148,6 +223,7 @@
             print_usage_err "Unknown option: $arg"
             ;;
         *)
+            G_ORIG_CMD=$arg
             handle_cmd $arg
             break
             ;;
