Changes from the model

Get the location even if wifi was asleep (if we can connect)
Much cleaner internal API
Bugfixes