A large part of information missing from the API has been recently added to support this. It's no easy process though, and there's going to be issues with trying to handle dynamic obstacles and pathfinding through blocked off areas correctly that the programmer has to overcome. More improvements for stuff like that will eventually come though.