Опираясь на ответ Пбиркова, я бы порекомендовал использовать подход MVC, независимо от того, решите ли вы использовать явную основу для этого.
В этом случае FacebookSession будет классом модели, и я обычно хотел бы, чтобы модель была пакетом верхнего уровня (после всего, что есть в com.domainname). Так что в этом случае я мог бы сделать что-то вроде com.tony.model.facebook.FacebookSession для структуры пакета.
Для такого маленького проекта, как ваш, синглтон вполне подойдет. Как только кодовая база становится намного больше, синглтоны становятся опасными, потому что теперь у вас много глобальных состояний, и это может запутаться, если у вас есть тонна классов, обращающихся к синглтону со всего кода (см. http://misko.hevery.com/code-reviewers-guide/flaw-brittle-global-state-singletons/),, потому что он ломается слабое сцепление.
Как только ваш проект станет больше, вы можете использовать внедрение зависимостей, чтобы избежать этой проблемы. В этом случае могут пригодиться такие фреймворки, как Swiz и т. Д.
НТН,
Karthik