add behaviour model, refactor and update pony "AI"