implement agent#addBehavior()