refactored to split dude code into multiple classes

split dude code by function
controller (heartbeat), properties, actions, and decisions