Agent class to provide standard core functions