Refactor the agent to be a little bit more opinionated

Most of these changes are very basic, but slowly we push against the ocean and the ocean molds to our liking. 



`setProperty` is like `setHiddenProperty`. it's pretty. that's all...