That is pretty much what that post goes through. It is using the virtualization method. You can do it without virtualization but the setup is pretty much the same.
You have 3+ mapped keys, depending on the number of buffs/skills in the rotation.
Mapped Key 1, has the Hotkey, with a single step with a single action for Do Mapped Key, "Mapped Key 2"
Mapped Key 2 has your rotation in it, which calls each step of the rotation via Do Mapped Key actions.
Each Mapped Key rotation has a single Step with a number of actions.
- Execute the buff/skill.
- Disable the Step in Mapped Key 1
- Re-Enable the Step in Mapped Key 1 (using a Timer) after the required cast time of the current buff/skill, so you don't interrupt the cast by pressing the Hotkey again (well you can press the hotkey but it doesn't do anything because there are no active steps in Mapped Key 1 until it has re-enabled). This will be your 3 second cast time
- Disable the Step that executes this rotation Mapped Key in Mapped Key 2
- Re-Enable the Step in Mapped Key 2 (using a different Timer) after the required cooldown time of the current buff/skill, so you don't cast it again before it is necessary. This will be your 1 hour cooldown.
The setup in the post goes a little further because there is also the virtualization mapped key in there (which, despite initial appearances, actually makes this easier to maintain and more portable between character sets), and some of the methods above, like the 2nd and 3rd actions are standardised via another set of Mapped Keys (how many skills have the same cast time?.. plenty). Because each buff/skill should have it's own timer, there is also a reset in there too, which in theory is unnecessary, but it keeps it all neat and tidy.
The reason behind the convoluted setup is that if you disable an mapped key, and then re/enable it, then it starts at the beginning again, so you only want to disable a specific step along the way. You also don't want a step to be disabling itself, but a higher level step in the chain is ok. If you try to use the Do Not Advance method, which is applicable to a Step, then you can't disable/enable that step because it will reset it, including any current timers on it (much like disabling the Mapped Key too), so instead you need to separate into layers. If you look at the description, the rotation mapped keys themselves never get disabled, and neither do any of the other mapped keys, just specific steps within them.
*note: Timers should be unique. i.e. don't use the same Timer for multiple actions. A given Timer might end up being called multiple times, which is OK, but if you use the same Timer in multiple places, and it resets different steps, then you might find that things get enabled when you don't expect them to.