Ported AbstractController and specs, added docs