Alan: An Agent-Object Programming Language